370 likes | 501 Views
eQuinoX TimeLine Module – ADD Presentation. Company : Pav technologies Technical Advisor : Greg Mayers , Michael Bruggeman , Peretz Dissen . Academic Advisor : Dr. Yuval Elovici Team members : Ravit Huber Rafi Pinto Ofir Dagan Benny Holtzer. 1. Usage Scenarios.
E N D
eQuinoX TimeLine Module – ADD Presentation Company : Pav technologies Technical Advisor : Greg Mayers, Michael Bruggeman, PeretzDissen. Academic Advisor : Dr. Yuval Elovici Team members : Ravit Huber Rafi Pinto Ofir Dagan Benny Holtzer
UC1: Load Timeline Primary Actor: SFX Artist Description: The user loads a pre saved timeline. Stockholders and interests: SFX Artist: wants fast loading, no errors, operation does not cause loss of existing open timelines (there can be more than one open timeline, but only one is active) Preconditions: The eQuinox environment is open with an open project. The requested timeline exists and without errors. All of the timeline's objects exist in the project window.
UC2: Save Timeline Primary Actor: SFX Artist Description: The user saves the current active timeline. Stockholders and interests: SFX Artist: wants fast saving and without errors. Pre conditions: The eQuinox environment is open with an open project. The requested timeline is active. Post conditions: The timeline is saved so it can be restored exactly to the state it is in now. Main Success Scenario: The user saves the current active timeline or exports the timeline to a file. The system saves the timeline with all of the necessary information needed to restore it (it doesn't actually saves the timeline's object rather than their ids in the project).
UC2: Save Timeline Extensions: *a. at any time, System fails: The action preformed since the last save won’t be saved and a restart for the system will be required. 2.a. Case: The filesystem is out of space for saving the file. Action:An error message is shown to the user and no action is taken.
UC5: Play Timeline Primary Actor: SFX Artist Description: The user plays the timeline to view the resulting movie in the preview window. Stockholders and interests: SFX Artist: Doesn’t want to wait for preview, be able to play the timeline or drag the cursor on the timeline and preview the merged channels at the cursor’s position during playback. eQuinox: Maximum synchronization between the timeline cursor, channels, objects and preview window
UC5: Play Timeline Preconditions: The eQuinox environment is open with an open project. The requested timeline is active. Postconditions: The preview window shows the merged channels at the current cursor position.
3. Behavioral Analysis 3.1 Sequence Diagrams
3.2 Events 3.2.1 Channel Events: OnAddChannelClicked OnRemoveChannelClicked OnCopyChannelClicked OnLockChannelClicked OnMuteCahnnelClicked OnIsolateChannelClicked OnDisableCahnnelClicked
3.2 Events 3.2.2 TimeLine Objects Events: OnInsertObjet OnRemoveObject OnStrechOrCondenceObject OnSlideObject
3.2 Events 3.2.3 TimeLine Global Events: OnTimeLineCurserDargAndDrop ChangeTimeLineResolution OnSaveTimeLineClicked OnLoadTimeLineClicked OnPlayButtonPressed OnStopButtonPressed OnPauseButtonPressed
4 Object-Oriented Analysis 4.1 Class Diagrams
4.2 Main Classes Description This is the main container of all the data objects. Mainly used for loading, saving and other general timeline operations The timelineDataObj hold a container for all channels. There are 3 different types of channels audio/ video/ 3D animation. A channel holds in him timeline objects from the same type This class represents the connection between the data file on disk and the system.
4.2 Main Classes Description Holds the information of the Timeline Object. All operations done on the Timeline Objects (e.g. stretching, condensing, etc.) are done using this object. The Timeline object types The timeline has the ability to synch two or more timeline objects together, so that performing an operation on one of them, changes all the synched object. This class acts as a container for the synched objects.
5. System Architecture Main Components: In-House modules: eQuinox System – As an integrated module the timeline will have to interact with the main application (eQuinox) HolaDeck module – The HolaDeck module is what eQuinox is all about. It's where the "magic" happens. The HolaDeck is responsible for showing in edit mode both the 2d video content and the 3D animation clip, allowing the SFX editor to edit the animation while seeing the outcome through the camera view.
5. System Architecture Main Components: TimeLine main Components: TimeLine - This object will be responsible for the TimeLine global functionality as described at the ARD part 2.3 TimeLine Channel – This object will be responsible for all of the channel functionality described at the ARD part 2.1 TimeLine Object - This object will be responsible for the timeline object functionality described at the ARD part 2.2
5. System Architecture Main Components: Engines and Adapters (external): We want the eQuinox platform to be versatile and to be able to switch between different engines and technologies. To do so each engine will be connected to eQuinox using adapters. Currently eQuinox supports the following engines: OGRE – open source 3D graphics engine. Microsoft DirectShow Video editing service. Microsoft DirectX for playing sound clips.
6. User Interface Draft 6.1 The Timeline The Timeline is made of four main parts: Channel & Channel Options, Timeline Objects, Scale & Cursor, Tools Panel
6.1 The Timeline 6.1.1 Channel & Channel Options 6.1.2 Timeline Object There are 3 types of channels: Audio, Video and 3D Animation. Each channel can hold Timeline Objects according to their type. Each object, according to its type, has a different color . Each channel has its own Channel Options on the left. Using the Channel Options one can lock a channel, mute, disable, etc.
6.1 The Timeline 6.1.3 Scale & Cursor The Scale is the resolution of the movie.You can see the movie in chunks of minutes, seconds or even frames. The Cursor specifiesour progression in theTimeline.
6.1 The Timeline 6.1.4 Tools Panel The Tools Panel consist of icons used to select different tools that help us edit the movie.
7. Testing Functional Requirements: The project's functional requirements enables us to write automated tests since its based on manipulating data. (e.g. Junit, TestNG) For example, in order to check the channel object copy functionality we will write a test that: copies an existing channel checks if that channel exists in the active timeline checks what type the channel is, and verifies that all of the channel data is copied also.
7. Testing Non-Functional Requirements: Speed, Capacity & throughput the testing will be divided to 2 domains. First, we will write applications to benchmark our system. For example, recording the time it takes for our system to save/load a predefined timeline. Also, recording the time each action of the timeline/channel takes (should be lower than 5 seconds according to the requirements), and same for each of the mentioned requirements.
7. Testing Non-Functional Requirements: Speed, Capacity & throughput the testing will be divided to 2 domains. Second, this domain's testing will be held by a user working on the application and following a scenarios we will prepare, in order to check the responsiveness of the application and the flow of events. Some of those scenarios will be similar to those performed by the automated testing it is very important to check how the application interacts with a live user, and of course, we need to verify actions at the GUI level.
7. Testing Non-Functional Requirements: Portability and platform constraints The application will be tested with a laptop running: Windows XP, Vista and Windows 7. The laptop specs: CPU – 2.5GHz Intel core duo 2 Memory – 2GB DDR2 800MHz. Hard Disk – 10 GB of free space.
7. Testing Non-Functional Requirements: Reliability Testing of reliability will also be conducted by automated tests. We will write tests that: import files to the timeline format loads the timeline file to the system checks the validity of the new file and that each property and value conforms to their equivalents in the original file.
7. Testing Non-Functional Requirements: Usability The system will be tested by "experts" in the field of Video and 3D animation environment. The users will work with the system for a while and will then give a feedback on: User-friendly GUI interface Working and managing the timeline Adjusting the system to user preferences
8. Task List – Primary Tasks • Functionality contains: • Add • Remove • Copy • Lock • Re-order • Mute • Isolate • Disable • Select multiple
8. Task List – Primary Tasks • Functionality contains: • Insert objects • Remove objects • Stretch objects • Condense objects • Slide objects • Move objects • Select multiple objects