|
Next revision
|
Previous revision
|
dev:tnp [2012/02/25 03:11] tedfelix created |
dev:tnp [2022/06/16 08:04] (current) |
| ===== 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 ===== |
| ===== 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. Keyboard: Shift-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 |
| |
| ==== 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. |
| - 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. |
| | |
| |