
Names of things
===============

This is from a discussion about what to call the basic classes, and
how to refer to the corresponding concepts in the GUI and
documentation.  These tables list all the competing suggestions we
came up with: first, what the thing is that we want to describe; then
what the MIDI, Rosegarden 2.1 notation editor, and (abandoned)
Rosegarden 3 terms for it were; then other suggestions.  This is quite
an old document; not all of these concepts exist as described in the
actual software.


Note-related representational innards
-------------------------------------

 : : Thing		MIDI	RG2.1notation	RG3		Other ideas
 : : ==========================================================================
 -A- a single note &c	Event	Item		Element		
 : : --------------------------------------------------------------------------
 -B- instrument's notes	Track	ItemList	Part		
 : : --------------------------------------------------------------------------
 -C- a whole piece	Song?	Stave		Composition	Piece, Workspace
 : : --------------------------------------------------------------------------
 -D- set of pieces						
 : : --------------------------------------------------------------------------
 -E- positional pointer		ItemList again	Iterator	Pointer, Marker
 : : ==========================================================================

Winners:
  A  Event
  B  Track
  C  Composition
  D  
  E  TrackPointer

Arrangement-related representational innards
--------------------------------------------

 : : Thing				Possible names
 : : ==========================================================================
 -A- raw hardware thing			Device
 : : --------------------------------------------------------------------------
 -B- single device playback setup	Channel, Instrument
 : : --------------------------------------------------------------------------
 -C- set of those			Arrangement, Environment
 : : ==========================================================================

Winners:
  A  Device
  B  Channel
  C  Channel set

Program breakdown
-----------------

 : : Thing		RG2.1		RG3		Other ideas
 : : ==========================================================================
 -A- data store				Server	      Database, Datastore, Core
 : : --------------------------------------------------------------------------
 -B- GUI component			Client		View, Editor
 : : --------------------------------------------------------------------------
 -C- playback server    Sequencer/Mapper  Performer	
 : : ==========================================================================

  A  Core
  B  View
  C  Performer

Likely GUI bits
---------------

 : : Thing			Possible names
 : : ==========================================================================
 -A- controller for playback	Transport, ControlPanel
 : : --------------------------------------------------------------------------
 -B- piano roll view		PianoRoll, Matrix
 : : --------------------------------------------------------------------------
 -C- list of raw object data	EventList, ItemList, ElementList, TextView
 : : --------------------------------------------------------------------------
 -D- note/channel overview	Arrange, Environment, er, Overview
 : : ==========================================================================

  A  Transport
  B  Matrix
  C  EventList
  D  

Chris's preferences
-------------------

 1A: Element (Event sounds a bit MIDI-specific)
 1B: Part or Track, don't mind
 1C: Composition or Workspace
 1D: 
 1E: TrackPointer or something like that

 2A: 
 2B: 
 2C: 

 3A: Data-something
 3B: View? or does that sound too much like a specific programming paradigm?
 3C: Performer's fine

 4A: Transport, I like that
 4B: 
 4C: 
 4D: 

Guillaume's preferences
-----------------------

(blank choices are those on which I agree with Chris)

 1A: Event
 1B: Track
 1C: Song (reuse MIDI terms for all 3, use namespaces to differenciate)
 1D: 
 1E: Iterator

 2A: 
 2B: Channel
 2C: Channel Set

 3A: Server
 3B: View
 3C: 

 4A: 
 4B: PianoRoll
 4C: EvenList
 4D: Overview, (or no name at all)


Rich's preferences
------------------

 1A: Element (Event sounds a bit MIDI-specific)
 1B: Part or Track, don't mind
 1C: Composition or Workspace
 1D:
 1E: TrackPointer or something like that

No, a workspace is a "screenset" if you like.  Composition or Song
I think is more appropriate.  Rest is fine.

 2A:
 2B:
 2C:

The Environment is more than just a set of playback channels or devices.
Holds global system Device information as well.

 3A: Data-something
 3B: View? or does that sound too much like a specific programming paradigm?
 3C: Performer's fine

Server - View - Performer get my vote.

 4A: Transport, I like that
 4B:
 4C:
 4D:

Transport is a standard term anyway.
Matrix view.
Event List.
Arrange.

Just because they're Logic and what I know.
