Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
dev:tnp [2012/02/25 03:11]
tedfelix created
dev:tnp [2022/06/16 08:04] (current)
Line 3: Line 3:
 ===== Goal ===== ===== Goal =====
 To implement a consistent notification mechanism whereby Boundary (User Interface) objects make changes directly to Entity (Document) objects and use a notification (Observer) mechanism within the Entities to inform the rest of the system of changes. To implement a consistent notification mechanism whereby Boundary (User Interface) objects make changes directly to Entity (Document) objects and use a notification (Observer) mechanism within the Entities to inform the rest of the system of changes.
 +
 +We are now moving toward an even simpler approach where a single notification mechanism (documentModified()) is used across all of rg for most things.  See [[dev:update_notifications|Update Notifications]] for more.
  
 ===== Secondary Goal ===== ===== Secondary Goal =====
Line 12: Line 14:
 ===== Test Plans ===== ===== Test Plans =====
  
 +See bug #1625 for another test case that is missing here.  Add it.
 ==== TrackButtons Test Plan ==== ==== TrackButtons Test Plan ====
-  - Add a track. + 
-  - Delete a track. +  Run the Add Track Test Plan (below) 
-  - Rename a track. +    * PASS, 4/25/2012, TB::sUT removed from TE::pE  
-  - Run the Mute Test Plan +  - Run the Delete Track Test Plan (below) 
-  - Run the TrackLabel Test Plan +    * PASS, 4/25/2012, TB::sUT removed from TE::pE  
-  - Arm/disarm tracks for record.  Click on LED.  Use "R" key. +  - Run the TrackLabel Test Plan (below) 
-  - Move track up/down.  Menu.  KeyboardShift-Up/Down.   +    * PASS, 4/25/2012, TB::sUT removed from TE::pE  
-    * fails with m_trackButtons->slotUpdateTracks() call in TrackEditor::paintEvent() removed+  - Run the Mute Test Plan (below) 
 +    * PASS, 4/25/2012, TB::sUT removed from TE::pE  
 +  - Run the Arm (Record) Test Plan (below) 
 +    * PASS, 4/25/2012, TB::sUT removed from TE::pE  
 +  - Run the Change Track Name Test Plan (below) 
 +    * PASS, 4/27/2012, TB::sUT removed from TE::pE  
 +  Move Track Up/Down Test Plan (below) 
 +    * PASS, 4/29/2012, TB::sUT() removed from TE::pE()
   - Select next track via menu and down arrow.   - Select next track via menu and down arrow.
   - Select previous track via menu and up arrow.   - Select previous track via menu and up arrow.
   - Contemporaneous segments on a track.     - Contemporaneous segments on a track.  
-    * fails with m_trackButtons->slotUpdateTracks() call in TrackEditor::paintEvent() removed+    * FAIL, TrackButtons::slotUpdateTracks() removed from TrackEditor::paintEvent()
   - Right click and switch from MIDI to audio to synth plugin.  The record LED color will change.  Yellow for MIDI, red for audio, and orange for synth.     - Right click and switch from MIDI to audio to synth plugin.  The record LED color will change.  Yellow for MIDI, red for audio, and orange for synth.  
   - ??? more...   - ??? more...
 +
 +
 +==== Add Track Test Plan ====
 +
 +  - Add and use.
 +    - Set up track names that will make it easier to see a track has been inserted.  (e.g. Track 1, Track 2, ...)
 +    - Add a track.
 +    - Verify that the track was added.
 +    - Do some recording and playback on the new track to make sure it works.
 +  - Add, undo, redo, use.
 +    - Add a new track.
 +    - Undo the add track.
 +    - Verify it is gone.
 +    - Redo the add track.
 +    - Verify that it is back.
 +    - Do some recording and playback on the track to make sure it works.
 +  - Load a .rg sequence and play it.
 +  - Import a MIDI file and play it.
 +
 +
 +==== Delete Track Test Plan ====
 +
 +  - Delete a track.
 +    - Set up track names that will make it easier to see that a track has been deleted.  (e.g. Track 1, Track 2, ...)
 +    - Delete a track.
 +    - Verify it is gone.
 +    - Undo the delete.
 +    - Verify it is back.
 +    - Record and play on this track to make sure it works.
  
  
 ==== TrackLabel Test Plan ==== ==== TrackLabel Test Plan ====
 +
   - Track Names   - Track Names
     - Make sure View > Show Track Labels is checked     - Make sure View > Show Track Labels is checked
Line 84: Line 124:
  
 ==== Mute Test Plan ==== ==== Mute Test Plan ====
 +
   - Mute button on the track.   - Mute button on the track.
     * With a sequence running, mute and unmute the track and make sure the MIDI events stop and restart.     * With a sequence running, mute and unmute the track and make sure the MIDI events stop and restart.
Line 90: Line 131:
   - Mute/Unmute All via toolbar   - Mute/Unmute All via toolbar
   - Mute/Unmute All via menu   - Mute/Unmute All via menu
 +  - Load/Save Sequence with Mute Pattern
 +    - Create a sequence with a pattern of muted/unmuted tracks.  (Set up an arm pattern too.)
 +    - Save the sequence. "LED Pattern.rg"
 +    - Bring down rg.
 +    - Bring up rg.
 +    - Open the sequence (Ctrl+R should do it)
 +    - Verify the correct pattern
   - LIRC and Tranzport   - LIRC and Tranzport
     * LircCommander::trackMute()     * LircCommander::trackMute()
     * TranzportClient::trackMute()     * TranzportClient::trackMute()
 +
 +
 +==== Arm (Record) Test Plan ====
 +
 +  - Record button on the track.
 +    * Arm and disarm a track.  Make sure the LED goes on and off.
 +    * Arm a track.  Hit record.  Make sure that track records.  Stop.
 +    * Disarm all tracks.  Arm a different track.  Hit record.  Make sure that track records.  Stop.
 +  - "R" hotkey
 +    * Same procedure as with the button.
 +  - Menu: Tracks > Arm/Disarm?
 +    * Same procedure as with the button.
 +  - Arm an audio track when the audio path is broken.
 +    - Bring up rg
 +    - chmod -w ~/rosegarden
 +    - Try to arm an audio track by clicking on the LED.
 +    - Note the dialog
 +    - Try to arm an audio track using the "R" hotkey.
 +    - Note the dialog
 +    - chmod u+w ~/rosegarden 
 +  - Try to arm more than one track with the same instrument.
 +    - Set track 1 to General MIDI Device #1
 +    - Set track 2 to General MIDI Device #1
 +    - Try to arm track 1 and track 2.  They will not both arm.
 +  - Arm rule.
 +    - Set track 1 to General MIDI Device #1
 +    - Set track 2 to General MIDI Device #2
 +    - Arm track 1 and track 2 for record
 +    - Set track 2 to General MIDI Device #1
 +    - Note that track 1 becomes unarmed.
 +  - Load/Save Sequence with Arm Pattern
 +    - Create a sequence with a pattern of armed/unarmed tracks.  (Set up a mute pattern too.)
 +    - Save the sequence. "LED Pattern.rg"
 +    - Bring down rg.
 +    - Bring up rg.
 +    - Open the sequence (Ctrl+R should do it)
 +    - Verify the correct pattern
 +    - Hit record and make sure the armed tracks are recording.
 +  - LIRC
 +    * LircCommander::trackRecord()
 +    * Same procedure as with the button.
 +  - Tranzport
 +    * TranzportClient::trackRecord()
 +    * Same procedure as with the button.
 +
 +==== Change Track Name Test Plan ====
 +
 +  - Change Track Name Basic
 +    - Bring up rg
 +    - Change a track's name by double-clicking on the label and entering a new name.
 +    - Note that the name has changed on the track.
 +    - Note that the name has changed in the Track Parameters box.
 +    - Undo the name change.
 +    - Note that the name has changed on the track.
 +    - Note that the name has changed in the Track Parameters box.
 +  - Notation View
 +    - Bring up rg.  Drop a segment on the canvas.
 +    - Select the segment and bring up the notation view (press "N").
 +    - Change the track name and switch back to the notation view.
 +    - The name should have changed to the left of the staff.
 +      * FAIL (has always failed)
 +      * Add a new note in the notation view and the name will change.
 +  - Matrix View
 +    - Bring up rg.  Drop a segment on the canvas.
 +    - Select the segment and bring up the matrix view (press "M").
 +    - Change the track name and switch back to the matrix view.
 +    - The name should have changed in the titlebar.
 +  - Percussion Matrix View
 +    - Bring up rg.  Drop a segment on the canvas.
 +    - Select the segment and bring up the percussion matrix view (press "D").
 +    - Change the track name and switch back to the percussion matrix view.
 +    - The name should have changed in the titlebar.
 +  - Pitch Tracker View (PitchTrackerView)
 +    * Derives from NotationView, so will probably fail like NotationView.
 +  - Load .rg File
 +    - Load a .rg file
 +    - Make sure the track names are correct.
 +  - Load MIDI File
 +    - Load a standard MIDI file.
 +    - Make sure the track names are correct.
 +  - Load Music XML
 +    - Import a Music XML file.
 +    - Make sure the track names are correct.
 +  - Tranzport  (TranzportClient::trackChanged())
 +    - Select a track.
 +    - Note that the track's name shows up on the Tranzport
 +    - Change the track's name
 +    - Note that the name changes on the Tranzport
 +
 +==== Move Track Up/Down Test Plan ====
 +
 +  - Move Track Up Via Menu
 +    - Set up track names that will make it easier to see tracks moving (e.g. "Track 1", "Track 2", etc...)
 +    - Select "Track 2"
 +    - Tracks > Move Track Up
 +    - Note that Track 1 and Track 2 have traded places.
 +    - Try selecting Tracks 1 and 2.  Note proper behavior.
 +    - Try right-clicking Tracks 1 and 2.  Note proper behavior.
 +    - Undo
 +    - Note that Track 1 and Track 2 are back to where they were.
 +    - Try selecting Tracks 1 and 2.  Note proper behavior.
 +    - Try right-clicking Tracks 1 and 2.  Note proper behavior.
 +  - Move Track Down Via Menu
 +    - Set up track names that will make it easier to see tracks moving (e.g. "Track 1", "Track 2", etc...)
 +    - Select "Track 2"
 +    - Tracks > Move Track Down
 +    - Note that Track 2 and Track 3 have traded places.
 +    - Try selecting Tracks 2 and 3.  Note proper behavior.
 +    - Try right-clicking Tracks 2 and 3.  Note proper behavior.
 +    - Undo
 +    - Note that Track 2 and Track 3 are back to where they were.
 +    - Try selecting Tracks 2 and 3.  Note proper behavior.
 +    - Try right-clicking Tracks 2 and 3.  Note proper behavior.
 +  - Move Track Up Via Keyboard
 +    - Set up track names that will make it easier to see tracks moving (e.g. "Track 1", "Track 2", etc...)
 +    - Select "Track 2"
 +    - Press Shift + Up Arrow
 +    - Note that Track 1 and Track 2 have traded places.
 +    - Try selecting Tracks 1 and 2.  Note proper behavior.
 +    - Try right-clicking Tracks 1 and 2.  Note proper behavior.
 +    - Undo
 +    - Note that Track 1 and Track 2 are back to where they were.
 +    - Try selecting Tracks 1 and 2.  Note proper behavior.
 +    - Try right-clicking Tracks 1 and 2.  Note proper behavior.
 +  - Move Track Down Via Keyboard
 +    - Set up track names that will make it easier to see tracks moving (e.g. "Track 1", "Track 2", etc...)
 +    - Select "Track 2"
 +    - Press Shift + Down Arrow
 +    - Note that Track 2 and Track 3 have traded places.
 +    - Try selecting Tracks 2 and 3.  Note proper behavior.
 +    - Try right-clicking Tracks 2 and 3.  Note proper behavior.
 +    - Undo
 +    - Note that Track 2 and Track 3 are back to where they were.
 +    - Try selecting Tracks 2 and 3.  Note proper behavior.
 +    - Try right-clicking Tracks 2 and 3.  Note proper behavior.
 +
  
 
 
dev/tnp.1330139474.txt.gz · Last modified: 2022/05/06 16:07 (external edit)
Recent changes RSS feed Creative Commons License Valid XHTML 1.0 Valid CSS Driven by DokuWiki