sozi-projects / sozi Goto Github PK
View Code? Open in Web Editor NEWA "zooming" presentation editor
Home Page: http://sozi.baierouge.fr
License: Mozilla Public License 2.0
A "zooming" presentation editor
Home Page: http://sozi.baierouge.fr
License: Mozilla Public License 2.0
It would be great to be able to change an option of multiple frames at once (eg: duration or clip).
I'd, for instance, select multiple frames in the frames list, parameters with various values would display as grey but be editable, any change to a parameter would apply to all selected frames.
(It is perhaps a limitation due to inkscape)
Would it be possible to keep the gui window ("Edit frame") open after assigning a frame to a rectangle ?
When builing the presentation, it is quite cumbersome to go 30 times in the same menu ("Extensions->Sozi->Edit frame). Docking the window in the right pane would be great in this case !
Otherwise, perhaps associating a shortcut to the "Edit frame" window would do the job !
Thanks for your great tool !
hi,
i did just follow your installation tutorial for sozi step by step
it worked fine
unfortunately in inkscape there is NO submenu visible: inkscape/extensions/sozi/MISSING
"edit frame" is missing!!!
"installation/mise à jour" is missing!!!
i am running win7 32bit
i guess it is "just" a little bug - but i can not find it :(
thank you for your help!
it looks like a very helpfull program and i would love to use it for my presentations!!!
For the Mac installer, the instructions read:
Two install locations are possible:
* either the extension folder of Inkscape for all users (e.g. /usr/share/inkscape/extensions/)
* or your personal Inkscape extension folder (~/.config/inkscape/extensions)
Close all running instances of Inkscape and copy the following files to the location you have chosen:
sozi.inx
sozi.py
sozi.js
However, I can not locate the sozi.js file within any of the directories. There is a js directory which contains four js files (player.js, display.js, common.js, animator.js). There is also a sozi.css file at the root.
Not knowing what else to do I've copied the entire contents of the dir to /usr/share/inkscape/extensions/
First of all: great code!
I would find VERY useful if would be possible to make some object appear/disappear during the view flow or in between two views, i.e. allow to change dynamically the visibility parameter.
Thanks!
Give a consistent font size to the list of views so that it is always readable, whatever the window size and the number of views.
I have installed the latest on Linux Ubuntu 10.10 (64 bit) with Inkscape 0.48 and use the example - tutorial.svg.
It comes up, I select the first frame and then "sozi" from the extensions menu. I get two windows - sozi.py and "Sozi Working - please wait...". The latter window never goes away and will not cancel. I can't do anything in Inkscape.
So I then loaded everything onto my Windows 7 PC by following the install instructions and it does exactly the same thing.
What am I doing wrong?
The Python version in both cases is 2.6.6.
On a fresh install of Inkscape 0.48 on XP, the click on edit frame menu generates the following error :
Traceback (most recent call last):
File "sozi_edit_frame.py", line 35, in
import pygtk
ImportError: No module named pygtk
This seems to be related to the shipped python version with inkscape...
First, Sozi is a really good / nice tool! Really helpful.
Thanks for your hard work, senshu.
I have a feature request: I'd like to add animation via javascript into the presentation (simple one, some moving objects and fade in / out). I can do this in JS inside an SVG.
I have to use JS (not SMIL) as I want to do the animation step by step, after interaction by the presenter. This should be a click on a button / object (repeatedly for the several animation steps). It doesn't have to be mouse clicks, but could also be key events (honestly, I have to test if key events already work within Sozi, haven't tried yet - I'm not that much experienced / familiar with JS).
The problem I currently see is that Sozi catches all mouse (and maybe key) events, so that I can have no interaction with the SVG object itself.
Is it possible to turn off / on catching mouse events by e.g. pressing 'm' (with maybe an indication mouse symbol in one corner) so that the mouse event within an object would trigger the object's onmouseclick event?
This would be a nice feature, as far as I know Prezi can't do ;-)
Hope my request is not too weird.
Thanks in advance (independent from outcome :-)
Hi and thanks for the AWESOME app!
I heard about Sozi today and totally already love it - I've been trying to find something to make presentations more interesting!
My wishlist includes a 'save all' button that'd save all changes made in the editor view. Now I have to press 'save' after every 'slide' I've edited to save the changes. A single button to save all changes would be great.
It would be great if there were controls to allow for live rotation (ie you can zoom and pan live, why not rotate?). ALT+Click and drag would be a great way to control this. Great work otherwise!
Cheers!
Sozi should allow all kind of frames, not only rectangles.
Here is a patch to the JS to allow this: http://linkmauve.fr/dev/sozi/not-only-rect.patch
The SVG file don't display in firefox 4 beta 6 and in chromium 7.
The file is here : http://michel.barret5.free.fr/presentationdebian.svg
Thank you very much for your tools.
Add a keyboard action (e.g. "F" key) to show the whole SVG document in the browser window.
Ça pourrait être sympa de pouvoir faire suivre une ligne à l'animation, par moment je dois faire des rectangles vide pour choisir le chemin, ce qui se fais sans trop de soucis mais n'est pas optimal ;)
It can be great to make a feature "follow line",indeed, between two step if the movement isn't a straigth line we have to make void rectangle !
Thanks ;)
Create a plugin for the online free svg editor svg-edit http://code.google.com/p/svg-edit.
This would allow to create presentations directly from the browser.
In Inkscape 0.48, the "hide" checkbox is never checked when creating a new frame,
even if the selected object is a rectangle.
Add a new layer, perhaps "Sozi.Flow", dynamically updated each time Sozi is run, containing a path (lines+arrow) detailing the journey through the frames.
In large (50+ frames) presentations scattered throughout an entire canvas, it can be easy to forget the order of the frames.
Export a Sozi presentation to a video. All frames should have a timeout specified.
Hi,
after your news on linuxfr, I announced Sozi on the Create mailing list (peoples who participate to and organize the Libre Graphics Meeting), but we discovered than installation instructions weren't translated in english.
I can help with that, and if you agree, you can grant me an access to your wiki.
please write to me at "cbissuel at yagraph dot org"
Thanks for Sozi, it's a great project !
yagraph
basicly I read this in the changelog but can't quite understand how does it work.
thx!
A style sheet for the table of contents is provided with Sozi. The Sozi editor inlines the stylesheet into the SVG document.
Add a feature to allow designers to add their custom style sheet in place of the default one.
Just downloaded Sozi 11.05 (had same issue under 11.03 with th PPA)
I can add frames to Sozi... but I can't figure out how to delete or edit frames. The button that is visible on the tutorial, is not there in Inkscape.
Sometime I zoom on a part of the svg, then I would like to go back to the previous viewpoint without going back in the presentation.
If I select the rectangle associated to this previous frame and asks for the creation of a new frame centred on it, nothing is created, and I have to draw a new rectangle to assign a new frame on it.
Would it be possible to assign two different frames to a unique rectangle ?
(Maybe it would be difficult to edit it later in the gui of the extension, as multiple frames would be associated to the rectangle)
Thanks !
Export a Sozi presentation to a static PDF document, with one page per frame.
Mouse and keyboard actions are useful for presentations where the user is free to navigate from one view to the other, zoom or drag the view.
In presentations that are designed to run automatically, we may want to prevent the user from pausing it (eg when zooming, dragging or showing the menu).
I followed the installation instructions
The errors look like they are looking for CSS in the ext but the instructions didn't call for CSS in the Inkscape/extensions folder
Installing sozi.css into extensions folder gets Sozi working.
Sozi appears in Inkscape extensions but with no >
http://www.youtube.com/watch?v=Paf5ysNrq34
here is the error
Traceback (most recent call last):
File "sozi.py", line 526, in
effect.affect()
File "/usr/share/inkscape/extensions/inkex.py", line 215, in affect
self.effect()
File "sozi.py", line 68, in effect
self.upgrade_or_install("style", "css")
File "sozi.py", line 89, in upgrade_or_install
elt.text = open(os.path.join(os.path.dirname(file), "sozi." + ext)).read()
IOError: [Errno 2] No such file or directory: 'sozi.css'
When playing the demo in firefox, the display gets truncated on left and right sides, not using the full window width. The truncate line location varies from «slide» to «slide».
Helo
I work on a centos 5 (EL5) 64 bit. My current version of inkscape is 0.47, the package pygtk2.x86_64 at version 2.10.1-12.el5
I extract the sozi.inx, sozi.js and sozi.py of the sozi realease 11.03-14194331 in the folder ./config/inkscape/extensions and when I try to launch sozi, I get this error message:
File "~/.config/inkscape/extensions/sozi.py", line 132
int(f["frame_element"].attrib[sequence_attr]) if sequence_attr in f["frame_element"].attrib else len(self.frames))
^
SyntaxError: invalid syntax
where does the probleme come from?
thank you per advance
Only the "Enter" key works.
From a486b3fad6414c4b0db314de6109f787c498cdcc Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 23 Jan 2011 16:48:03 +0100 Subject: [PATCH] Skip --- js/player.js | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 68 insertions(+), 2 deletions(-) diff --git a/js/player.js b/js/player.js index 2a592ad..d1d7847 100644 --- a/js/player.js +++ b/js/player.js @@ -279,14 +279,18 @@ sozi.Player.prototype.onKeyDown = function (evt) { case 35: // End this.moveToLast(); break; + case 38: // Arrow up + this.skipToPrevious(); + break; case 33: // Page up case 37: // Arrow left - case 38: // Arrow up this.moveToPrevious(); break; + case 40: // Arrow down + this.skipToNext(); + break; case 34: // Page down case 39: // Arrow right - case 40: // Arrow down case 13: // Enter this.moveToNext(); break; @@ -587,6 +591,42 @@ sozi.Player.prototype.moveToFrame = function (index) { window.location.hash = "#" + (index + 1); }; + +/* + * Skips to a frame with the given index (0-based). + */ +sozi.Player.prototype.skipToFrame = function (index) { + + if (this.waiting) { + window.clearTimeout(this.nextFrameTimeout); + this.waiting = false; + } + + if (this.display.tableOfContentsIsVisible()) { + this.display.hideTableOfContents(); + } + + this.animator.stop(); + + this.playing = false; + this.currentFrameIndex = index; + var finalState = this.frames[this.currentFrameIndex].geometry; + for (attr in finalState) { + if (finalState.hasOwnProperty(attr)) { + if (typeof finalState[attr] === "number" && + typeof finalState[attr] === "number") { + this.display[attr] = finalState[attr]; + } + } + } + + this.display.clip = finalState.clip; + this.display.update(); + + // Update URL hash with the current frame index + window.location.hash = "#" + (index + 1); +}; + /* * Moves to the first frame of the presentation. */ @@ -611,6 +651,19 @@ sozi.Player.prototype.moveToPrevious = function () { }; /* + * Skips to the previous frame. + */ +sozi.Player.prototype.skipToPrevious = function () { + var index = this.currentFrameIndex; + if(!this.animator.started) { + index = this.currentFrameIndex - 1; + } + if (index >= 0) { + this.skipToFrame(index); + } +}; + +/* * Moves to the next frame. */ sozi.Player.prototype.moveToNext = function () { @@ -620,6 +673,19 @@ sozi.Player.prototype.moveToNext = function () { }; /* + * Skips to the next frame. + */ +sozi.Player.prototype.skipToNext = function () { + var index = this.currentFrameIndex; + if(!this.animator.started) { + index = this.currentFrameIndex + 1; + } + if (index < this.frames.length) { + this.skipToFrame(index); + } +}; + +/* * Moves to the last frame of the presentation. */ sozi.Player.prototype.moveToLast = function () { -- 1.7.3.1.msysgit.0
While exploring the canvas, double-clicking or otherwise selecting out-of-order frames should change the focus to this new frame so the presentation continues thereon.
A problem exists when one frame is used multiple times.
A solution perhaps exists in the VUE software which allows multiple "paths" through a canvas/frames, ie for different POVs or topics (which is cool and I think sozi should have). Then the best solution would be to pick the path/frame combination to minimize the distance between frame/head.
Great app, really enjoy it.
It would, however, be great, if you could assign a key on the keyboard for the "Frame list". Sometimes the mouse doesn't have a third button -- then you can emulate by clicking both bottons, but sometimes if you don't hit both keys at exactly the same time, unexpected things happen in the presentation :)
Libreoffice bring's some SVG editing capabilities. Currently you can create sozi only via inkscape Plugin (with Python dependencys). I would really like to see an option to create sozi through libreoffice.
What do you think about it?
i just love sozi! Just a small remark: it would be nice to edit all frames from a single frame-editing window, so that one would not have to select, menu, etc... for all frames
It would be very interesting to compile Sozi attributes into SVG/SMIL elements, instead of interprete them. SMIL plays animation without JS, and is managed by the browser, so animation can be more fluid and consume less resources. The JS could then only be of use with user events.
None of the browsers I tested
windows: ie9 (btw ie9 is fast. aside that the svg display is forced shrunk to a 1/4 the page, sozi seems to work 100%)
windows: firefox 4
linux: chromium10
linux: firefox 4
support displaying flowed text. Instead, nothing is displayed. I believe flowed text is the most common and important type of text. It would be great if Sozi could fix this, but it is probably a web-browser issue.
Anyway, in documents with a lot of text, to save time I propose a new button in the extensions menu: "Save as copy without text". Saves a copy of the SVG - for example, SVGFileName_NOTEXT.svg - with all text converted to paths. This is because selecting all the text across a wide canvas is tedious every time a change needs to be tested.
Hi !
I have a strange behavior (here is the svg : http://pastebin.com/Mc2t4yVP ) : slides seems to be shifted on the left, more and more on each slide.
Great work then!
Bonjour!
J'ai un comportement étrange (voir le svg ici : http://pastebin.com/Mc2t4yVP ) : les diapos sont décalées sur la gauche, toujours un peu plus à chaque fois.
TRès beau boulot en tous cas !
In complicated frames - frames with either lots of text, lots of paths, complicated transparency effects, or large images - the performance of the frame list menu is abysmal. Since javascript and SVG are separate I was wondering if the performance in such cases could be improved.
Example : http://example.tld/mypresentation.svg#4 shows the 4th view
Salut Senshu!
I'd like to use some of sozi's code for un projet that is licensed under the MIT license. Unfortunately I can't, because sozi est licensed under GPL. I think that's problematic, because people who use MIT, BSD, LGPL for their projects cannot use and contribute to your project.
Is there any chance for you to publish a version of sozi using a permissive license (like MIT,BSD, LGPL)? If you do, you always can go back to GPL, because GPL code can link to permissive code - just not the other way around.
Thanks!
Bonjour,
J'ai fais quelques scripts (un peu à l'arrache mais qui fonctionne) pour m'aider à la réalisation d'une présentation. Ça serait intéressant d'ajouter une fonction d'exportation à sozi:
-Embarquement des images liées
-Transformation des textes en objets
-Déplacement source -> target
Je m'explique sur cette dernière. Il est relativement pénible de faire les diapos directement avec la rotation et la disposition finale que l'on souhaite.
Pour ma part je préfères les définir comme des diapos classiques puis les déplacer.
Donc j'ai défini un "source" à un groupe et un attribut "target" à un autre groupe.
Lorsque j'exécute mon script le contenu du groupe dont l'attribut "source" est X sera mis a la place du contenu du groupe dont l'attribut "target" est X.
Would it be possible to show the options in a table format, that one would see the delays and frame settings for each slide at the same time, edit there with spinboxes and dropdown buttons and press 'save all'?
It's a lot of work now having to select slide-by-slide to go through the settings to make sure everything's OK and press save separately for each slide where I've changed something.
And thanks for the great app!!
A firefox addon for basic navigation would be very helpful
Forward (one step, )
Backward (one step)
Pause
Restart.
[either keyboard shortcuts, or click-able buttons or so.. ]
Hello,
Maybe I'm not doing this right, since the doc on the site is obsolete, I may be missing a step.
I installed Sozi, don't have a submenu in the extension dropdown (but saw it was ok so stopped worrying about this).
When I select a frame and choose the duration and zoom, then hit save, the sequence seems to be saved (appears in right hand column). But when I try to get out of Sozi (through the small window "cancel" that pops up when you start it), it just hangs and nothing happens. The little pop up window says 'Sozi running" (well, in French "en cours"), the "cancel" button is grayed out, and inkscape just hangs for ever.
Any idea what I am doing wrong?
Merci :)
Inkscape 0.48 on Linux Mint
Great tool !
Would it be possible to define a view as the bounding-box of selected objects ?
Rather than drawing a rectangle to define the view, use the bbox of selected objects. If the object is a rectangle, it works as before, otherwise it would create a view centered on this object.
In some cases, it would speedup the process !
The zoom should be done around the pointer position (à la inkscape)
When a Sozi presentation is embedded in a web page, e.g. in an iframe of an HTML document, moving the mouse wheel over the iframe will zoom the current view and will scroll the page at the same time.
How to delete a frame?
Hi, I installed inkscape and sozi today.
However when I select a frame and click on edit frame it gives me this error
"Traceback (most recent call last):
File "sozi_edit_frame.py", line 35, in
import pygtk
ImportError: No module named pygtk"
Please help!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.