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. |
| |
| |