Ticket #2180 (closed feature: obsolete)

Opened 12 years ago

Last modified 10 years ago

media-hud-controls - Toggle show of media controls.

Reported by: deyan Owned by: deni
Priority: critical Milestone: X3
Component: uncategorized Version: 2.0
Keywords: Cc:
Category: unknown Effort: 2
Importance: 85 Ticket_group:
Estimated Number of Hours: 0 Add Hours to Ticket: 0
Billable?: yes Total Hours: 0
Analysis_owners: todor Design_owners: deni
Imp._owners: deni Test_owners:
Analysis_reviewers: deni Changelog:
Design_reviewers: meddle Imp._reviewers: meddle
Test_reviewers: Analysis_score: 4
Design_score: 3.5 Imp._score: 3.5
Test_score: 0

Description (last modified by todor) (diff)

• the visibility of an audio/video controller needs to be up to the author.

  • In the appearance HUD of the video and audio frames, there must be a checkbox for toggling the visibility of the mediaframe controls.
  • It must be labeled as "Show media controls".
  • When the checkbox is marked the controls should be visible in preview mode and reader.
  • When the checkbox is empty the mediaframe controls and the progress bar must be not visible in the preview mode and reader.
  • By default the media frame controls are visible.

Change History

comment:1 Changed 12 years ago by deyan

  • Importance changed from 75 to 85
  • Summary changed from media-frame-content-hud to media-hud-controls : Show Controls

Batch update from file report_1.csv

comment:2 Changed 12 years ago by deyan

  • Priority changed from major to critical

Batch update from file 0911261.csv

comment:3 Changed 12 years ago by todor

  • Category set to unknown
  • Status changed from new to s1a_analysis_started
  • Description modified (diff)
  • Analysis_score set to 0
  • Test_score set to 0
  • Design_score set to 0
  • Owner set to todor
  • Imp._score set to 0
  • Analysis_owners set to todor

comment:4 Changed 12 years ago by todor

  • Status changed from s1a_analysis_started to s1b_analysis_finished

comment:5 Changed 12 years ago by todor

  • Description modified (diff)

comment:6 Changed 12 years ago by todor

  • Summary changed from media-hud-controls : Show Controls to media-hud-controls - Toggle show of media controls.

comment:7 Changed 12 years ago by deni

  • Design_owners set to deni
  • Status changed from s1b_analysis_finished to s1c_analysis_ok
  • Imp._owners set to deni
  • Analysis_reviewers set to deni
  • Analysis_score changed from 0 to 4
  • As discussed with Deyan, there will be 3 controls for showing/hiding the Play/Pause button, the Stop button and the seekbar, respectively.
  • Besides, we won't use checkboxes, but toggle buttons.
  • These toggle buttons will manipulate the visibily of media controls in author mode, too. It doesn't seem reasonable to me to show a play button which the author has disabled in preview mode and cannot use in edit mode. Plus, it will be easier to implement :-)

comment:8 Changed 12 years ago by deni

  • Owner changed from todor to deni
  • Status changed from s1c_analysis_ok to s2a_design_started

comment:9 Changed 12 years ago by deni

  • Status changed from s2a_design_started to s2b_design_finished
  • Model:
    • Add three new keys in MediaFrameR4:
      • KEY_SHOW_PLAY_BUTTON holds informations whether the Play/Pause button should be shown.
      • KEY_SHOW_STOP_BUTTON holds informations whether the Stop button should be shown.
      • KEY_SHOW_SEEKBAR holds informations whether the seekbar should be shown.
    • Add the appropriate helper methods in MediaFrameH.
  • Hud & Logic:
    • Add the following elements in MediaPropertiesHud:
      • public static class ShowMediaControlsTitleBar extends HudTitleBar
      • public static class ShowPlayPauseButton extends LogicR3ToggleButton
      • public static class ShowStopButton extends LogicR3ToggleButton
      • public static class ShowSeekBar extends LogicR3ToggleButton
    • Add an inner static enum in MediaPropertiesHud containing the IDs of the events that can be fired from the hud:
      • They both change the visibility of a given conrol and have 2 parameters. The first one is the Key that should be used and the second one - the description of the AutoAction that will be registered.
  • Add the following operations in MediaPropertiesHudLogic :
  • Changes to media manipulation views:
    • Override the computeVisible() methods of PlayPauseMediaManipulationView, StopMediaManipulationView and SeekMediaManipulationView to respect the settings of their parent media frame.
    • When conputing the position of a manipulator in ContentManipulationView take into account only content manipulators that are visible.
    • Change the width property in SeekMediaManipulationView to be the width of the containing frame - the widths of all visible manipulation views that are before the seek bar.

comment:10 Changed 12 years ago by meddle

  • Status changed from s2b_design_finished to s2c_design_ok
  • Design_score changed from 0 to 3.5
  • Design_reviewers set to meddle
  • You didn't mention that you'll make the icon property of the manipulation view public...
    • You can add public width and height properties instead...
  • Your logic should have only one handler -> ON_TOGGLE_BUTTON.
    • Add the show/hide parameter as a parameter to your event.
    • Make your private method take more arguments, instead taking the event and extract the event parameters in the handler itself.
  • Make the new keys TemplatedKeys it will be good for this options to be templated.
  • Add the fixes which you will do and about which you talked with pap to the implementation notes.
  • Fix you spaceings for some 'if's...


comment:11 Changed 12 years ago by deni

  • Status changed from s2c_design_ok to s3a_implementation_started

comment:12 Changed 12 years ago by deni

  • Status changed from s3a_implementation_started to s3b_implementation_finished
  • LogicR3ToggleButton changes:
    • Reason:
      • When using toggle buttons in a hud, their state (selected/deselected) should be updated when we select another frame.
    • Updating the state of toggle buttons:
      • Add a new boolean selected AutoProperty in LogicR3ToggleButton that holds whether the toggle button should be selected or not.
      • Its compute method calls a new abstract method public boolean computeSelected() which by default returns getInitialState(). It should be overriden in subclasses to provide the neccessary logic.
      • Add a setup method in the ResourceProperty in SkinnableButton which calls the new empty method protected void setupExra(AbstractButton res). It will be overriden in subclasses to provide the necessary logic.
      • Override setupExra(AbstractButton res) in LogicR3ToggleButton
    • Synchronization:
      • add a private boolean field synchronizing and the following public methods to get/set its value:
        • public boolean isSynchronizing()
        • public void startSynchronizing()
        • public void stopSynchronizing()
      • when synchronizing the model and view (in ItemListener.itemStateChanged(ItemEvent) from the view to the model and in setupExra(AbstractButton) from the model to the view) do the following:
        • if isSynchronizing() returns true, don't do anything
        • call startSynchronizing()
        • update the model or the view in a try block
        • call stopSynchronizing() in a finally block
  • MediaPropertiesHud changes:
    • override public boolean computeSelected() in ShowPlayPauseButton, ShowStopButton and ShowSeekBar
  • Templating the 'Show media controls' options:
    • As suggested in the design review, make the 3 new keys in MediaFrameR4 TemplatedKeys.
    • Add a new CompositeKey - KEY_SHOW_CONTROLS and make the names of the other three keys start with <its name + ":">
    • This will ensure that the 'Show media controls' options appear in TemplateDialog and can be templated like all other keys.
  • Replace the events SHOW_CONTROL and HIDE_CONTROL with a new event TOGGLE_CONTROL with one additional parameter:
    • As suggested in the design review...

comment:13 Changed 11 years ago by meddle

  • Status changed from s3b_implementation_finished to s3c_implementation_ok
  • Imp._score changed from 0 to 3.5
  • Imp._reviewers set to meddle

Merged to the trunk at [8454].

There was an exception thrown when resizing the frame to be the smallest possible at width and height, I fixed it...


comment:14 Changed 10 years ago by meddle

  • Status changed from s3c_implementation_ok to closed
  • Resolution set to obsolete

Closing all the tickets before M Y1

Note: See TracTickets for help on using tickets.