Skip to content
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

Initial commit of the remote control #325

Merged
merged 13 commits into from Feb 21, 2016

Conversation

Projects
None yet
4 participants
@roggan87
Copy link
Contributor

commented Oct 28, 2015

In #211 I've mentioned the remote control I've been hacking on. Now it's implemented in the source code with a few improvements. I'd say it's production ready but not feature complete. I haven't had any problems with it in chrome or firefox, except that firefox may block the popup if it's fired by the keyboard shortcut [c]. The reason I chose [c] is remote [c]ontrol, [c]onsole, [c]ontroller or in the future [c]omments.

Here's a demonstration of a sozi presentation with this remote control, made with this very branch.

@roggan87

This comment has been minimized.

Copy link
Contributor Author

commented Oct 29, 2015

Bonus feature: #146. Didn't want to put that in a separate branch or pull request, hope that's okay.

The demonstration is updated to reflect the new commits.

@roggan87 roggan87 referenced this pull request Oct 30, 2015

Open

Presenter console #211

@senshu

This comment has been minimized.

Copy link
Owner

commented Oct 31, 2015

Thanks for your contribution. I will have a look at it as soon as I can. The demonstration works great, except for the first time if popups are disabled by default in Firefox.

I would have preferred a separate pull request for feature #146 but it will be fine.

In the future, I would like to add the concept of module (extension or plugin) to Sozi.
It would be great if contributors could develop and release new features without asking my permission.

@roggan87

This comment has been minimized.

Copy link
Contributor Author

commented Nov 1, 2015

Thanks for your feedback. Maybe I should add an error message if the popup is blocked, so the user knows what's going on.

I see. I'll remember that.

It would probably be a good thing with modules in Sozi. My limited experience is that it often takes more time to set up a working extendable system than it takes to implement pull requests, but it's of course your decision to make.

@roggan87

This comment has been minimized.

Copy link
Owner Author

commented on js/view/Properties.js in 74f298d Nov 29, 2015

After fiddling a long way with formatting buttons I finally gave up. The problem is that the contentEditable area is loosing focus when a button is clicked, and then it saves the text and the selection is usually lost. Keyboard shortcuts works well, so I've included some, but the information is not ideal. I would suggest to remove the whole renderFormatButton function and extract the small bits that's needed for the delete button.

@senshu senshu merged commit bbd248b into senshu:dev Feb 21, 2016

@senshu

This comment has been minimized.

Copy link
Owner

commented Feb 22, 2016

I have merged your implementation of the remote control.

I see that you use iframes to display copies of the current, previous and next frames. Invisible divs capture click events. The frame list is hidden based on the URL hash.

Another technique would be to create a separate Sozi player for each preview area. Like in player.html, you could create an instance of Viewport and Player for each of the current, previous and next frames. It would allow the remote control to listen to frameChange events directly without capturing click events in invisible divs.

Have you already tried that?

@roggan87

This comment has been minimized.

Copy link
Contributor Author

commented Feb 22, 2016

Interesting. I haven't tried that. If you think it's a better approach I could try to implement it. The current implementation makes the different previews behave a little different:

Current: Show transition. Left click for next frame, right click for previous.
Previous: No transition. Left click for previous frame.
Next: No transition. Left click for next frame.

Would that also be possible to achieve without too much work with the Viewport + Player technique?

@senshu

This comment has been minimized.

Copy link
Owner

commented Feb 22, 2016

Would that also be possible to achieve without too much work with the Viewport + Player technique?

For the previous and next, you could create your own object that inherits Player and overrides methods setupEventHandlers or onClick.

@roggan87

This comment has been minimized.

Copy link
Contributor Author

commented Feb 22, 2016

That's true.

One thing to consider, which is actually the reason why I went with the iframe solution, is that we would need a nice way to copy over all contents from the base document to the remote control. The svg and presentation data shouldn't be too hard, but I have no idea how to best copy over the javascript itself.

@ngoonee

This comment has been minimized.

Copy link

commented Aug 17, 2016

This has been merged but hasn't appeared yet in the release, or am I simply missing how to activate it? Downloaded the binaries that roggan87 made available, seems to work well, but an official release since it's been merged would be nice.

@roggan87

This comment has been minimized.

Copy link
Contributor Author

commented Aug 19, 2016

It is merged into the dev branch, so still considered unstable. It works fine for me, but @senshu needs to review/test it before an official release.

@senshu

This comment has been minimized.

Copy link
Owner

commented Sep 7, 2016

Sorry for the delay.

Actually, I observed that the implementation could be made simpler by relying on existing features from the Sozi player. See the comments I made at the beginning of this thread.
I was planning to try those ideas before releasing it officially, but time passed and I have not even started.

I think I will include the current implementation in the next release. Evolutions will come later if they are relevant.

@er-vin

This comment has been minimized.

Copy link

commented Jul 31, 2018

Any chance to have it in a release soon? I mean it's 2018 now. :-)

At least I didn't find the feature in 18.04.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.