Rosegarden Sanity Tests
=======================

Introduction
------------

These tests should be run by anyone who wants to prove the level of
Rosegarden functionality at a given release point.  These tests can
also be used a basis for ensuring that the team has fully documented
the application as we head through beta testing.

If anyone has taken the time to run these tests on the application
then it would greatly help the development team if they could return
their results along with the specification of their machine, the
configuration of Rosegarden and the release number.  Fill in the
boxes below.

Bugs and feature requests should be first checked against the existing
database, and if not previously requested or reported, they should
then logged on the Rosegarden SourceForge page:

http://sourceforge.net/projects/rosegarden/

Preferred test system and most common deployment configuration is
with Rosegarden-4 built for ALSA with JACK (and optionally LADPSA
plugins).

Good luck!

--

Tester details
--------------

  Name                         :

  Email                        :

  Test date(s)                 :


Environment Details
-------------------

  Rosegarden Version           :

  CVS, tarball or RPM name
  (include date if using CVS)  :

  System processor             :

  System memory                :

  Linux distro (if any)        :

  Soundcard                    :

  Any other sound devices      :

  ALSA version                 :

  JACK version (if used)       :

  QT version                   :

  KDE version                  :

  gcc version                  :

  Lilypond version (if used)   :

Tests
=====

1. Installation and File loading
--------------------------------

1.1 Installation directories

From a clean system (without Rosegarden-4 installed) apply your
RPM or install your built tarball or CVS extract.  Assuming that
you've got the "rosegarden" and "rosegardensequencer" exectubles
in your path you should be able to launch the application from the
command line by typing:

% rosegarden

The application should present a splash-screen which will inform
you of the steps that Rosegarden is taking to start itself.  When
the application appears it should have the relevant pixmaps in
place on the toolbars.

1.2 Help system
Try accessing the help from the application menu Help->Rosegarden Handbook.
This should pop-up the handbook and allow you to navigate the help system.
The introduction to the help system should point the user to the Rosegarden
homepage as well as the Rosegarden Tutorials page.


1.3 Loading an example .rg file

There is a set of example files that come with Rosegarden-4 as part
of the tarball or as extracted from CVS.  They can be found in the
rosegarden/gui/testfiles directory or alternatively here:

http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/rosegarden/gui/testfiles/

Fetch these testfiles and subdirectories if you don't already have
them.  Go to the menu option File->Open... and choose the file
"mandolin-sonatina.rg".

This file should load and present you with three tracks.

1.4 Loading an example audio .rg file

Load the test file "outofspace.rg" from the testfiles directory.
Open the Audio File Manager (Segments->Manage Audio Segments) and
you should seem some audio files in there.


2. Configuration
-----------------

3. Track Editor
---------------

4. Notation Editor
------------------

5. Matrix Editor
----------------

6. Event Editor
---------------

7. Transport
------------

7.1 Play
Hitting play on an empty composition should start the playback pointer
advancing from left to right.  The segment canvas will page automatically
when the pointer nears the end of the page view.

7.2. Stop
Hitting stop should stop either playback or recording.  Hitting stop
twice in succession will stop recording and return the pointer to the
beginning of the composition.

7.3 Fast forward
When either stopped or playing the fast forward button will advance
the pointer by one bar.

7.4 Rewind
When either stopped or playing the fast forward button will rewind
the pointer by one bar.


8. Banks and Programs Editor
----------------------------

9. Audio Manager Dialog
-----------------------

9.1 Add an audio file
Open the Audio Manager Dialog.  Add an audio file - you should be
able to insert any WAV file and a visible waveform preview of this
file should be shown in the file list (if the directory where the
audio file is located is writeable - otherwise "no preview available"
will be shown).


9.2 Remove an audio file
Select an audio file (add from previous step) in the Audio Manager Dialog
and select "Remove Audio File".  You will be asked if you're sure you want
to remove this file and any associated segments.  Confirm this and the file
should disappear from the Audio Manager dialog and from the Composition
if it's been inserted anywhere.

9.3 Play Preview
If you have JACK running and you select an audio file (or segment thereof)
in the Audio Manager Dialog then you'll be able hear an audible preview of
the file by hitting "Play Preview".  You should be able to cancel this
preview at any time by using the dialog that pops up.

9.4 Rename Audio File
You should be able to apply a new name to this audio file.

9.5 Insert Audio File into Composition
Select an audio file or segment thereof in the Audio Manager dialog.
Selecting "Insert into Composition" should insert this audio segment
into the Composition on a new audio track at the bottom of the composition.
You might need to scroll down the segment canvas to see this new segment.


9.6 Export Audio
Allows the user to export a segment of audio as a WAV file.  Choose
an audio segment (child element in Audio Manager dialog) and select
"export".

10. Audio
---------

11. MIDI
--------

11.1 Basic MIDI I/O
Using either an external MIDI keyboard or using a virtual MIDI keyboard
(such as "vkeybd") ensure that Rosegarden is connected to it - go to the
Settings->Configure Rosegarden->Sequencer->Recording - select the desired
MIDI input from the "MIDI Record Device" list and hit OK.  Now ensure
that the transport is visible (Settings->Show Transport) and expand the
bottom tag to show additional controls.  Now hitting a key on your MIDI
input device should present MIDI data to Rosegarden which will be shown
on the "IN" section of the event monitor.  Rosegarden will then route
this MIDI event to the currently selected Instrument (see the currently
selected track) and back through the "OUT" section of the event monitor.

11.2 Recording
Select a Track which is assigned to any MIDI Instrument.  Selecting MIDI
tracks automatically changes record track to the current selection.  Hit
the record button on the transport.  You will get an N-bar count-in
(count-in bars are selected in the Configuration Dialog->General->Behaviour
 ->Number of count-in bars.  Remember if you're starting recording from bar
1 then the count-in will take the pointer back before the visible part of the
composition.  Play some MIDI notes into the recording Segment - when you hit
the Stop button a Segment will be created that has extents of the first and
last MIDI events recorded.


12. Printing
------------

12.1 File->Print


13. Import
----------

13.1 Import a MIDI File
Use the File->Import MIDI File menu option to import a MIDI file.
The file should import with a progress dialog in place - MIDI programs/
voices should be assigned to sensible (expected) values on import.
Try playing the imported file to make sure it's correct.


13.2


14. Export
----------

14.1 Export a MIDI File


14.2 Lilypond
----------

Test:
Start RG.  Load any .rg file from gui/testfiles/
Choose File->Export->Export Lilypond...

You may wish to use the ly2ps script from the rosegarden/scripts directory to
test these files.  Copy it onto your path, or else run it from the scripts
directory.  ly2ps filename.ly (or ./ly2ps or path/to/rosegarden/scripts/ly2ps)

It will clean up the mess that Lilypond leaves behind, and
will report success in the case of non-fatal errors.  If there are fatal
errors, they will be saved to a filename in the /tmp directory which you can
use when sending a bug report.

If you prefer, you may also run ly2dvi -P filename.ly

Expected result:
No fatal errors (.ps file is successfully generated by ly2dvi)
The resulting .ps file should be viewable in kghostview or similar without any
gross malformities, and should bear a close resemblance to the notation
editor's representation of the same data.

What to report:
If there were fatal errors...

First, go to Settings->Configure Rosegarden->Notation->Lilypond and check
"Write bar checks at end of measure" then export  again.  This relates to a
known bug whose fix is in the works.  After having done that, the file should
no longer cause critical errors, but it will still not be rendered correctly.

If, after having done the above steps, there is still a critical error, then
please save a copy of the error log from ly2ps, or else capture a copy of the
output from ly2dvi and make a note of which file produced the errors so that
the problems can be analyzed.

Reports of non-fatal problems are welcome as well, but do not bother to report
warning messages about incompatible note stems and the like unless they are
the obvious cause of rendering difficulties.  It is normal for Lilypond to
complain about a great many trivial things, and it usually compensates for
these perceived problems without issue.

I am mostly interested in non-fatal problems that result in .ps files that
have obvious, gross malformities, such as staffs that run off the page, slurs
and hairpins that are in the wrong place, and similar defects.  If Lilypond
reports that it is "crossing its thumbs," that probably means the trouble is
worth reporting.  In order to capture reports of such non-fatal errors, you
will need to run ly2dvi manually, as ly2ps deletes its logs after successful
creation of a .ps file.
