Commit Graph

96 Commits

Author SHA1 Message Date
Felipe Cecagno
c818cd154b Merge remote-tracking branch 'bigbluebutton/master' into mconf 2016-03-09 12:05:32 -03:00
Calvin Walton
0f9b36bc11 recording: Escape custom poll answers in gnuplot file
Custom poll answers were previously printed into the gnuplot control
file directly, between double-quotes. As a result, if a poll answer
contains a double-quote, it could cause a syntax error in the gnuplot
script, or worse.

Gnuplot accepts standard C-style double-quoted string escapes, so I can
just use ruby's "inspect" method to generate a safetly escaped string.

Note that within the string, % still has to be escaped separately
(doubled) to avoid issues with the string formatting. As well, I have
disabled "enhanced" mode which allows using special characters for
formatting commands.

Fixes #3039
2016-03-07 11:26:17 -05:00
Felipe Cecagno
bbcfe1f34a Merge remote-tracking branch 'bigbluebutton/master' into mconf
Conflicts:
	bigbluebutton-html5/app/client/globals.js
	bigbluebutton-html5/app/client/main.html
	bigbluebutton-html5/app/client/views/whiteboard/whiteboard.html
2016-03-04 20:19:55 -03:00
Calvin Walton
3a3d349553 recording: Restore the $meeting_start/end global variables
These were commented out, apparently by accident, when the metadata code
was being refactored. The effect was that the $meeting_end variable was
treated as if it had a value of zero, meaning that the last slide had a
start time of some positive number and an end time of zero. As a result,
it was never shown (and didn't get any shapes either).

Fixes #3021
2016-03-03 11:27:28 -05:00
Felipe Cecagno
e4da408c08 Merge branch 'mconf' into bigbluebutton/bigbluebutton@master
Conflicts:
	akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/UsersApp.scala
	bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/service/PresentationService.java
	bigbluebutton-client/locale/en_US/bbbResources.properties
	bigbluebutton-client/resources/prod/bbb-deskshare-applet-0.9.0.jar
	bigbluebutton-client/resources/prod/bbb-deskshare-applet-unsigned-0.9.0.jar
	bigbluebutton-client/src/org/bigbluebutton/main/views/MainApplicationShell.mxml
	bigbluebutton-client/src/org/bigbluebutton/modules/layout/services/MessageReceiver.as
	bigbluebutton-client/src/org/bigbluebutton/modules/users/views/StatusItemRenderer.mxml
	bigbluebutton-config/web/index.html
	bigbluebutton-web/grails-app/controllers/org/bigbluebutton/web/controllers/ApiController.groovy
	bigbluebutton-web/src/groovy/org/bigbluebutton/api/RecordingServiceHelperImp.groovy
	bigbluebutton-web/src/java/org/bigbluebutton/api/MeetingService.java
	bigbluebutton-web/src/java/org/bigbluebutton/api/ParamsProcessorUtil.java
	bigbluebutton-web/src/java/org/bigbluebutton/api/RecordingService.java
	bigbluebutton-web/src/java/org/bigbluebutton/api/RecordingServiceHelper.java
	bigbluebutton-web/src/java/org/bigbluebutton/api/domain/Recording.java
	bigbluebutton-web/web-app/WEB-INF/freemarker/get-recordings.ftl
	record-and-playback/presentation/playback/presentation/0.9.0/playback.html
	record-and-playback/presentation/scripts/publish/presentation.rb
2016-03-02 01:19:09 -03:00
jfederico
503b748b22 record-and-playback: Placed code for producing the initial metadata.xml file at the top 2016-02-12 12:08:33 -05:00
jfederico
0c2eaf5f11 record-and-playback: Fixed bug in original state of recordings. 2016-02-09 17:26:29 -05:00
jfederico
c9abb24a06 record-and-playback: Formatted xml produced for metadata.xml after adding playback 2016-01-28 10:13:45 -05:00
jfederico
983e58922e record-and-playback: metadata.xml is generated by process script instead of publish 2016-01-26 17:16:28 -05:00
jfederico
1204ae9f2a recording-and-playback: Added initial metadata.xml as part of the processing 2016-01-26 14:25:02 -05:00
jfederico
8e3c0ea983 recording-and-playback: Changed initial state on recording metadata.xml to published 2016-01-19 14:53:33 -05:00
jfederico
8bc75ab2f6 recording-and-playback: Converted tabs to spaces on presentation/scripts/* and core/scripts/*
Signed-off-by: jfederico <jesus@123it.ca>
2016-01-19 14:52:28 -05:00
Felipe Cecagno
8f08e13dcc Merge remote-tracking branch 'bigbluebutton/master' into mconf
Conflicts:
	bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/client/messaging/ConnectionInvokerService.java
	bigbluebutton-client/locale/pt_BR/bbbResources.properties
	bigbluebutton-client/resources/prod/lib/bbb_webrtc_bridge_sip.js
2015-12-30 18:35:13 -02:00
Felipe Cecagno
555e037d79 fix merge and refactor a few pieces to fit better on BigBlueButton 1.0.0 2015-11-30 01:06:38 -02:00
Pedro Beschorner Marin
36bbcc06d6 Merge remote-tracking branch 'mconf/mconf-live0.7.3' into mconf-live0.7.3-merge
Conflicts:
	akka-bbb-apps/src/main/java/org/bigbluebutton/core/api/IBigBlueButtonInGW.java
	akka-bbb-apps/src/main/java/org/bigbluebutton/core/pubsub/receivers/ConversionUpdatesProcessor.java
	akka-bbb-apps/src/main/java/org/bigbluebutton/core/pubsub/receivers/MeetingMessageReceiver.java
	akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/PesentationMessageToJsonConverter.scala
	bbb-common-message/src/main/java/org/bigbluebutton/common/messages/Constants.java
	bbb-video/.classpath
	bbb-video/build.gradle
	bbb-video/src/main/java/org/bigbluebutton/app/video/VideoApplication.java
	bbb-video/src/main/webapp/WEB-INF/red5-web.xml
	bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/meeting/messaging/red5/ConnectionInvokerService.java
	bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsApplication.java
	bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsListener.java
	bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/presentation/PresentationMessageListener.java
	bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/BigBlueButtonApplication.java
	bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/service/ParticipantsService.java
	bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/service/PresentationApplication.java
	bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/BigBlueButtonInGW.scala
	bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/CollectorActor.scala
	bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/MeetingActor.scala
	bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/api/Constants.scala
	bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/api/InMessages.scala
	bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/api/MessageNames.scala
	bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/api/OutMessages.scala
	bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/api/ValueObjects.scala
	bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/layout/LayoutApp.scala
	bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/presentation/PresentationModel.scala
	bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/presentation/red5/PresentationClientMessageSender.scala
	bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/users/UsersApp.scala
	bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/users/UsersModel.scala
	bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/users/red5/UsersClientMessageSender.scala
	bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/users/redis/UsersEventRedisPublisher.scala
	bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/users/redis/UsersMessageToJsonConverter.scala
	bigbluebutton-apps/src/main/webapp/WEB-INF/red5-web.xml
	bigbluebutton-client/branding/default/style/css/BBBDefault.css
	bigbluebutton-client/locale/en_US/bbbResources.properties
	bigbluebutton-client/locale/es_LA/bbbResources.properties
	bigbluebutton-client/resources/config.xml.template
	bigbluebutton-client/resources/prod/MconfLive.html
	bigbluebutton-client/resources/prod/bbb-deskshare-applet-0.9.0.jar
	bigbluebutton-client/resources/prod/bbb-deskshare-applet-unsigned-0.9.0.jar
	bigbluebutton-client/src/BigBlueButton.mxml
	bigbluebutton-client/src/SharedNotesModule.mxml
	bigbluebutton-client/src/org/bigbluebutton/common/Images.as
	bigbluebutton-client/src/org/bigbluebutton/core/managers/ReconnectionManager.as
	bigbluebutton-client/src/org/bigbluebutton/core/model/Config.as
	bigbluebutton-client/src/org/bigbluebutton/core/services/BandwidthMonitor.as
	bigbluebutton-client/src/org/bigbluebutton/core/services/StreamMonitor.as
	bigbluebutton-client/src/org/bigbluebutton/main/api/ExternalApiCallbacks.as
	bigbluebutton-client/src/org/bigbluebutton/main/model/NetworkStatsData.as
	bigbluebutton-client/src/org/bigbluebutton/main/model/modules/ModulesDispatcher.as
	bigbluebutton-client/src/org/bigbluebutton/main/model/users/BBBUser.as
	bigbluebutton-client/src/org/bigbluebutton/main/model/users/Conference.as
	bigbluebutton-client/src/org/bigbluebutton/main/model/users/NetConnectionDelegate.as
	bigbluebutton-client/src/org/bigbluebutton/main/model/users/UserService.as
	bigbluebutton-client/src/org/bigbluebutton/main/model/users/events/ChangeMyRole.as
	bigbluebutton-client/src/org/bigbluebutton/main/model/users/events/ChangeRoleEvent.as
	bigbluebutton-client/src/org/bigbluebutton/main/model/users/events/LowerHandEvent.as
	bigbluebutton-client/src/org/bigbluebutton/main/model/users/events/StreamStoppedEvent.as
	bigbluebutton-client/src/org/bigbluebutton/main/views/CameraDisplaySettings.mxml
	bigbluebutton-client/src/org/bigbluebutton/main/views/LanguageSelector.mxml
	bigbluebutton-client/src/org/bigbluebutton/main/views/LoggedOutWindow.mxml
	bigbluebutton-client/src/org/bigbluebutton/main/views/MainApplicationShell.mxml
	bigbluebutton-client/src/org/bigbluebutton/main/views/MainToolbar.mxml
	bigbluebutton-client/src/org/bigbluebutton/main/views/MuteMeButton.mxml
	bigbluebutton-client/src/org/bigbluebutton/main/views/NetworkStatsWindow.mxml
	bigbluebutton-client/src/org/bigbluebutton/main/views/RecordButton.mxml
	bigbluebutton-client/src/org/bigbluebutton/main/views/WebRTCEchoTest.mxml
	bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/AddChatTabBox.mxml
	bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/ChatBox.mxml
	bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/ChatView.mxml
	bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/services/red5/Connection.as
	bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopPublishWindow.mxml
	bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopViewWindow.mxml
	bigbluebutton-client/src/org/bigbluebutton/modules/layout/managers/LayoutManager.as
	bigbluebutton-client/src/org/bigbluebutton/modules/layout/maps/LayoutEventMapDelegate.mxml
	bigbluebutton-client/src/org/bigbluebutton/modules/layout/model/LayoutDefinition.as
	bigbluebutton-client/src/org/bigbluebutton/modules/layout/model/WindowLayout.as
	bigbluebutton-client/src/org/bigbluebutton/modules/layout/views/AddButton.mxml
	bigbluebutton-client/src/org/bigbluebutton/modules/layout/views/LayoutsCombo.mxml
	bigbluebutton-client/src/org/bigbluebutton/modules/layout/views/ToolbarComponent.mxml
	bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/ConnectionManager.as
	bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/FlashCallManager.as
	bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/WebRTCCallManager.as
	bigbluebutton-client/src/org/bigbluebutton/modules/phone/views/components/ToolbarButton.mxml
	bigbluebutton-client/src/org/bigbluebutton/modules/present/managers/PresentManager.as
	bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/PresentationWindow.mxml
	bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/UploadedPresentationRenderer.mxml
	bigbluebutton-client/src/org/bigbluebutton/modules/sharednotes/infrastructure/Client.as
	bigbluebutton-client/src/org/bigbluebutton/modules/sharednotes/infrastructure/HTTPServerConnection.as
	bigbluebutton-client/src/org/bigbluebutton/modules/sharednotes/infrastructure/ServerConnection.as
	bigbluebutton-client/src/org/bigbluebutton/modules/sharednotes/infrastructure/XMLServerConnection.as
	bigbluebutton-client/src/org/bigbluebutton/modules/users/maps/UsersMainEventMap.mxml
	bigbluebutton-client/src/org/bigbluebutton/modules/users/services/MessageReceiver.as
	bigbluebutton-client/src/org/bigbluebutton/modules/users/services/MessageSender.as
	bigbluebutton-client/src/org/bigbluebutton/modules/users/views/StatusItemRenderer.mxml
	bigbluebutton-client/src/org/bigbluebutton/modules/users/views/UsersWindow.mxml
	bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/business/VideoProxy.as
	bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/maps/VideoEventMap.mxml
	bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/maps/VideoEventMapDelegate.as
	bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/GraphicsWrapper.as
	bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/ToolbarPopupButton.mxml
	bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/VideoDock.mxml
	bigbluebutton-client/src/org/bigbluebutton/modules/whiteboard/views/WhiteboardToolbar.mxml
	bigbluebutton-client/src/org/bigbluebutton/util/i18n/ResourceUtil.as
	bigbluebutton-config/bigbluebutton-release
	bigbluebutton-config/bin/bbb-conf
	bigbluebutton-config/web/index.html
	bigbluebutton-web/grails-app/controllers/org/bigbluebutton/web/controllers/ApiController.groovy
	bigbluebutton-web/grails-app/controllers/org/bigbluebutton/web/controllers/PresentationController.groovy
	bigbluebutton-web/src/groovy/org/bigbluebutton/api/RecordingServiceHelperImp.groovy
	bigbluebutton-web/src/java/org/bigbluebutton/api/MeetingService.java
	bigbluebutton-web/src/java/org/bigbluebutton/api/messaging/MeetingMessageHandler.java
	bigbluebutton-web/src/java/org/bigbluebutton/api/messaging/MessagingService.java
	bigbluebutton-web/src/java/org/bigbluebutton/api/messaging/RedisStorageService.java
	bigbluebutton-web/src/java/org/bigbluebutton/presentation/imp/Pdf2SwfPageConverter.java
2015-11-25 15:58:36 +00:00
Calvin Walton
fc299487e4 recording: Allow configuring recording metadata to use https
This allows configuring a server to use https without having to edit
any ruby files directly.

(Ideally, the metadata files wouldn't include the server name/protocol
at all; that should be set dynamically by bbb-web, but this is what we
have for now.)
2015-11-06 11:49:36 -05:00
Felipe Cecagno
32957898f6 refactored part of the bbb-0.9-recording-size code in order to include the size on the download size for mconf_encrypted and the playback size for the others; included raw_size for all available formats 2015-09-08 17:18:02 -03:00
Calvin Walton
cc23f30c2b Fix poll in recording when there are 0 responders
There were a couple of problems:

* A division by 0 when calculating the percentages
* Positioning of the number of results counter was incorrect

Fixes #2739
2015-08-24 14:42:31 -04:00
Calvin Walton
e3e0f0ef61 Add poll result display to the 'presentation' recording format
Note that this requires a new dependency be added to the
"bbb-playback-presentation" format; the "gnuplot" package is now
required (it's used to actually generate the chart images)
2015-08-11 14:55:59 -04:00
Pedro Beschorner Marin
cbfe8b8859 Added an update script for sizes injection in old recordings metadata and some refactoring 2015-06-10 17:07:11 +00:00
Pedro Beschorner Marin
f8ff4a6725 Injecting format size in metadata.xml 2015-06-09 21:06:57 +00:00
Pedro Beschorner Marin
6ef2bf6b27 Getting playback and full meeting published sizes 2015-06-09 14:39:35 +00:00
Pedro Beschorner Marin
4225a87abd Refactoring and cleanup 2015-06-04 16:03:20 +00:00
Pedro Beschorner Marin
a1a7096c3e Getting the raw size of the meeting data 2015-06-03 15:19:41 +00:00
Pedro Beschorner Marin
cc55e6f6a4 Adding new attributes to bbb-web 2015-06-02 18:58:11 +00:00
Calvin Walton
301665a35b Fix off-by-one error in slide clear events
In 0.9.0, the slide clear events changed from using 1-based page numbers to
using 0-based page numbers.

Add 1 to the page number for recordings generated on a 0.9.0+ server to
fix the issue; at this point it's too late in the release to change the value,
and there's too big of a body of existing recordings out there.
2015-04-14 17:33:49 -04:00
Calvin Walton
8673d353bb Use the directory presentation/0.9.0 instead of presentation2
This makes it a bit more obvious how the versioning can work going
forwards, and makes it so that we do not need to update the nginx
config each time we have a new version of the playback files.

The 0.81 files remain at the top level of the presentation directory
for compatibility reasons.
2014-10-06 16:46:55 -04:00
Calvin Walton
852ea7b822 Revert 'presentation' dir to 0.81 code, add 'presentation2' for 0.9
This fixes an issue where recordings copied from a 0.81 server might
not play back correctly on a 0.9 server.

This changes the 0.9 recording scripts to use playback support files
from a different subdirectory, 'presentation2', while existing 0.81
recordings continue to use the 'presentation' directory.

If the raw files from an old recording are reprocessed, it will
switch to using the newer playback support files.
2014-10-06 16:15:25 -04:00
Calvin Walton
72fc36caef Actually fix slide indexes.
While the page numbers from BigBlueButton are zero-based, the slide images
are generated as 1-based.
2014-09-09 17:15:57 -04:00
Calvin Walton
c7967810b2 Revert the presentation publish page index altering
This was added because BigBlueButton 0.9 started using 1-based page
numbers in the events.xml file. That change has been reverted, so as
to avoid behaviour changes from 0.81 in places where it's unnecessary.
2014-09-02 15:46:52 -04:00
Calvin Walton
15fe621523 Use the timestamp from the meeting ID to calculate the real start time
With the switch to a different clock source in red5, the timestamps
in the events file are no longer real-time, but are rather in
seconds since computer boot.

The timestamp in the meeting id is still realtime, so use that as
the start time. Calculate the end time by adding the meeting length
to the start time.
2014-08-29 11:19:59 -04:00
Gustavo Salazar
fb013e751f support bbb_version in events.xml 2014-05-06 14:42:03 -05:00
Gustavo Salazar
7d291abcfd delete old raw dir from published recordings 2014-04-14 15:14:14 -07:00
Richard Alam
460dfb52bf - modify scripts so we can run it manually 2014-04-03 20:23:49 +00:00
Gustavo Salazar
8a32c657d5 Handle negative index in slide number.
Related to issue #1710
2014-01-23 16:36:28 -05:00
Felipe Cecagno
3440ed0fe3 Merge branch 'v0.81' into record-button
Conflicts:
	bigbluebutton-client/branding/default/style/css/BBBDefault.css
	bigbluebutton-client/src/org/bigbluebutton/main/views/MainToolbar.mxml
2014-01-14 14:05:41 -02:00
Felipe Cecagno
dab7547014 added a check on presentation publish script to avoid the duplication of thumbnails for a given slide 2013-12-02 15:23:02 -02:00
Felipe Cecagno
955f9edc99 fixing the issue of the whiteboard annotations not being shown in the proper slide; cleaning the environment (events.xml, recorded flag) when the session was recorded but the record button wasn't used 2013-12-02 13:57:05 -02:00
Calvin Walton
1d488e3c56 Last-ditch fix for missing presentation images
We can only get here if all of the files for the presentation are
*completely* missing. One thing that can cause this is if the
presentation filename starts with a '.' character - the presentation
files aren't correctly archived then.
2013-10-31 18:56:09 -02:00
Guilherme Augusto Dias
129e942d16 Add recording length information to metadata file
Add a tag containing the duration of the recording to metadata file
2013-10-15 14:29:49 +00:00
Guilherme Augusto Dias
dcabfc46fa Cut off unwanted slide events
Ignore slide events that happened after the last stop recording timestamp
2013-10-10 13:53:32 +00:00
Guilherme Augusto Dias
67fee3bff5 Correct clear/undo timestamp translation
Postpone the translation of timestamp for clear/undo events, so the events are applied correctly.
2013-10-09 19:51:46 +00:00
Felipe Cecagno
6e0553ed7c Merge branch 'record-button' of github.com:guilhermedias/bigbluebutton into record-button
Conflicts:
	record-and-playback/presentation/scripts/publish/presentation.rb
2013-10-07 22:36:31 -03:00
Guilherme Augusto Dias
8c89024084 Fix issue in multi-segment recording
Correctly draw shapes in multi-segment recordings.
2013-10-07 20:08:14 +00:00
Felipe Cecagno
d9dfe4a5d0 fixed partially the issue with the shapes timestamp made after the first period of recording, there's still work to do 2013-10-04 16:52:53 -03:00
Guilherme Augusto Dias
9d1dd1d8d2 Fix shape/image matching test
Fix iteration range when checking if a shape is within an image
2013-10-02 22:32:16 +00:00
Felipe Cecagno
322176ddf3 Merge branch 'record-button' of https://github.com/guilhermedias/bigbluebutton into record-button
Conflicts:
	record-and-playback/presentation/scripts/publish/presentation.rb
2013-09-26 13:06:15 -03:00
Guilherme Augusto Dias
99b17e6f58 Change shape timestamps generation
The timestamps of shapes drawn during a non recording period are being correctly generated.
2013-09-26 13:32:55 +00:00
Felipe Cecagno
aa597fe985 Merge branch 'master' of https://github.com/bigbluebutton/bigbluebutton into record-button-client
Conflicts:
	bigbluebutton-client/branding/default/style/css/BBBDefault.css
	bigbluebutton-client/src/org/bigbluebutton/main/views/MainToolbar.mxml
	record-and-playback/core/lib/recordandplayback.rb
	record-and-playback/core/lib/recordandplayback/generators/audio_processor.rb
	record-and-playback/core/lib/recordandplayback/generators/events.rb
	record-and-playback/core/lib/recordandplayback/generators/video.rb
	record-and-playback/presentation/scripts/publish/presentation.rb
2013-09-24 15:03:44 -03:00
Felipe Cecagno
b5b81c1c4d refactored a little bit the function translateTimestamp; the images that are never displayed aren't included on the svg file anymore; still have to figure out the issue with the shapes made BEFORE start the recording - for now we cannot differentiate shapes made on the current slide and the ones made on a previous slide before start the recording 2013-09-19 15:22:22 -03:00