@DATABASE Musiker.guide

@NODE Main "Musiker, version 1.2 documentation"

                          Musiker, version 1.2

                       © 1996 by Alexander Weber

    @{" Introduction         " Link Introduction}
    @{" Requirements         " Link Requirements}
    @{" Installation         " Link Installation}
    @{" Start of the program " Link Start}
    @{" Quick test           " Link Test}
    @{" Usage                " Link Usage}
    @{" The menu             " Link Menu}
    @{" Own instruments      " Link Instruments}

    @{" History              " Link History}
    @{" Copyright/disclaimer " Link Copyright}
    @{" MagicUserInterface   " Link MUI}
    @{" ptreplay.library     " Link ptreplay}
    @{" Known bugs           " Link Bugs}
    @{" The author           " Link Author}
@ENDNODE

@NODE Introduction "Introduction"
Musiker is a program that "composes" Protracker modules. While writing the
program I set store by giving the computer as much liberties as possible.
I.e. I didn't give the program any pieces of melody or accompaniment. Only
the harmonies are sometimes picked from a little data base.

Such a plenty of liberty leads inevitably to the possibility that most of
the songs are a little bit strange or monotonous. Nevertheless the program
has written some catchy tunes.

I gave the possibility to save the completed songs to disk. But that
shouldn't lead you to flood the Aminet or other software collections with
Musiker songs or game writers to be to lazy to write own songs for their
games and to simply use "Musiker".
Therefore I implore the users of "Musiker" to provide the songs with an
annotation so that it is clear that the song has been written by "Musiker".
Besides you should try to write music on your own. It isn't that hard
(even a computer is able to write songs...).
@ENDNODE

@NODE Requirements "Requirements"
Hardware:
  - 1 MB of memory

Software:
  - MUI version 3.3
  - OS 2.0

recommended:
  - hard disk
  - 2 MB of memory
@ENDNODE

@NODE Installation "Installation"
Simply pull the drawer "Musiker" in the desired directory.
@ENDNODE

@NODE Start "Starting the program"
From Workbench:
  Double click on the "Musiker" icon

From Shell:
  Change the directory to "Musiker" and start the program by typing
  "Musiker".
@ENDNODE

@NODE Test "A quick test of the program"
When you just want to test "Musiker" then @{"start" Link Start} the program and
click the buttons "Random", "Compose" and "Play" at the bottom of the
window that is appearing. The song is stopped by closing the window with
the playing informations.
@ENDNODE

@NODE Usage "The usage"
After starting the program the main window is appearing.
In it you can switch between two pages: Instruments and Settings.
In the first page (Instruments) are located six string gadgets. You must
first choose the instrument files here that you want to use in the song.
In the first gadget ("Melody") the instrument for the main melody is
defined, in the second one ("Bass") the bass for the accompaniment, in
the third and the fourth one ("Chord(major/minor)") the chord instruments
distinguished between major and minor and in the last two
("Drum(bass/snare)") the instruments for the Drums.

The provided instruments that fit in the named gadgets are found in the
directories "Melody", "Bass", "ChordMAJ", "ChordMIN", "BDrum" and "SDrum"
in the main directory.

You can choose the file names in 5 ways:

1. Type them manually into the string gadgets (first click on them)
2. Select them (by clicking on the button on the right) with the help of
   a file requester
3. Click on the "Random" buttons on the right side of the string gadgets.
   Then the computer chooses automatically an instrument from the fitting
   directory.
4. Click on the button "Choose instruments automatically" at the top of
   the string gatgets. Then the computer chooses all instruments from the
   fitting directories and the minor chord that corresponds to the major
   chord.
5. Click on "Random" at the bottom of the window. Then the computer chooses
   all parameters randomly. For the instruments the effect is the same as
   described in 4.

An instrument can be protected from being changed by the last two buttons
by activating the checkmark-gadget "Lock" beside it.

Before letting the computer compose a song you can choose the speed of the
song. It is defined in the second page (Settings) with the slider "Speed".
It can have the values from 4 to 7. 4 is the highest and 7 the lowest
speed (the values correspond with the speed values in Protracker songs).
Like with the instruments you can let the computer choose the value by
clicking at "Random" to the right beside the slider or at the bottom.

The speed can also be protected against the last button by activating the
"Lock"-gadget.

After the parameters have been adjusted you can let the computer generate
a song. This is done by clicking on "Compose". The computer will load the
instruments and compose the song.

When it is ready and nothing has gone wrong click on "Play". A new window
will appear and the song is played. In this window are some informations
about the song (length and playing position) and a slider to regulate the
volume. The playing is stopped by closing the window.

When you like the song then you can save it in the Protracker format with
"Save" and load it later into a player program (the Protracker format is
supported by almost every player program).
@ENDNODE

@NODE Menu "The menu"
The menu has the following items:

Project
  About...
  --------
  Quit

"About...": A little window with some informations will appear
"Quit": The program will end
@ENDNODE

@NODE Instruments "The usage of own instruments"
Own instruments must be in the raw format and adjusted to A=440 Hz.

The instruments are played in the following intervals:

- Melody: C-2 (523 Hz) to A-3 (1762 Hz)
- Bass, chords: C-1 (261 Hz) to A-2 (932 Hz)
- Drums: C-3 (1045 Hz)

The computer searches for the minor-chord that fits to the major-chord
in the following way:

First it substracts all appearances of "dur" and "maj" from the name of
the major-chord. This algorithm removes also things like "dumajr".
Then it takes the first file from the directory "ChordMIN" which name
equals that of the major-chord after removing "moll" and "min".

Matching pairs are:
 "Akkord-Dur" - "Akkord-Moll"
 "Major" - "Minor"
 "StrDURings" - "Strings"
 "AMadududurrrj" - "AMMMMMollinollinoll"
 "Chord" - "Chord"
@ENDNODE

@NODE History "The history"
- V0.1: First version. Small AMOS-program that played a little automatically
        generated melody of 8 bars with the sound commands of AMOS.

- V0.2: The algorithm has been changed such that bars are played in lightly
        modificated way again.
        Generating of refrains added.
        Songs are longer (6*8 bars).

- V0.3: The changes of V0.2 have been undone (sounded horrible!).
        Generation of a protracker module with rhythm, bass, chords.
        Different speeds

- V1.0: Rewritten completely into Amiga-E.
        User interface (MUI)

- V1.1: Generating of refrains added again.
        Also generating of introduction, interludes, ending.
        The songs can have different lengths.
        New samples.
        Startable from Workbench now.
        Songs can be saved to disk. (Only to ram:mod.song before)

- V1.2: Gadgets can be locked against being changed with the "random"-
        buttons.
        Divided the interface into pages.
        New playing window.
@ENDNODE

@NODE Copyright "Copyright/Disclaimer"
The program "Musiker" and all files belonging to it are freeware, i.e.
they are copyrighted by the @{"author" Link Author}.
The samples that are enclosed with the program are public domain and can
therefore be used in any way.
Nevertheless I would be grateful for a little donation if you like the
program.
The package can be spread under the following conditions:

- You mustn't change any files.

- Following files/directories must exist:

   Musiker                  (DIR)
      Catalogs                 (DIR)
         deutsch                  (DIR)
            musiker.catalog
         musiker.cd
      Docs                     (DIR)
         deutsch                  (DIR)
            Musiker.Guide
            Musiker.Guide.info
         deutsch.info
         english                  (DIR)
            Musiker.Guide
            Musiker.Guide.info
         english.info
      Docs.info
      Libs                     (DIR)
         ptreplay.library
      Melody                   (DIR)
         brass2
         future
         hqcstring
         nicetune
         piano
         pling
      Bass                     (DIR)
         bass
         bassguitar
         bassguitar2
         basssynth
         basssynth2
         basssynth3
         brass
         mmmmmm
         tape
      ChordMAJ                 (DIR)
         akkord-dur
         akkord-git-dur
         background-dur
         distguit
         synth-dur
      ChordMIN                 (DIR)
         akkord-moll
         akkord-git-moll
         background-moll
         distguit
         synth-moll
      BDrum                    (DIR)
         bassdrum
         bassdrum2
         bassdrum3
         bassdrum4
         bassdrum5
         bassdrum6
         bassdrum7
      SDrum                    (DIR)
         snaredrum
         snaredrum2
         snaredrum3
         snaredrum4
         snaredrum5
         snaredrum6
         snaredrum7
         snaredrum8
         snaredrum9
      Musiker
      Musiker.info
      ptreplay.readme
   Musiker.info

- The package mustn't be sold with a price that is higher than the cost
  of materials and copying.

- The package can be packed with lha or lza but must not be packed with
  dms.

- The program mustn't be used with illegal, military or comercial aims.

Exceptions can only be made with the approval of the author.

The author accepts no liability for any damage that is done by the package
or a part of the package.
@ENDNODE

@NODE MUI "The MagicUserInterface"
                          This application uses


                        MUI - MagicUserInterface

                (c) Copyright 1993/94 by Stefan Stuntz


MUI is a system to generate and maintain graphical user interfaces. With
the  aid  of  a  preferences program, the user of an application has the
ability to customize the outfit according to his personal taste.

MUI is distributed as shareware. To obtain a complete package containing
lots of examples and more information about registration please look for
a  file  called  "muiXXusr.lha"  (XX means the latest version number) on
your local bulletin boards or on public domain disks.

          If you want to register directly, feel free to send


                         DM 30.-  or  US$ 20.-

                                  to

                             Stefan Stuntz
                        Eduard-Spranger-Straße 7
                             80935 München
                                GERMANY

@ENDNODE

@NODE ptreplay "The ptreplay.library"
This file documents ptreplay, a librarybased systemfriendly PT/NT/ST-replayer.

            Copyright (c) 1994-1996 Mattias Karlsson (BetaSoft)
         Copyright (c) 1996 Andreas Pålsson (Pucko/Digital Dreams)


                           PTREPLAY.LIBRARY 6.6


ptreplay.library v6.6 is released under the concept of freeware. This
means that it is freely distributable as long as following conditions
are fulfilled:

·The archive may not be sold, but inclusion in a PD-library is permitted
 as long as only a SMALL fee is charged to cover the costs of copying and
 distribution. The Fred Fish Library is the perfect example.
·Programs and documentations must be distributed together in their
 unmodified form.

·Concerning the library itself, programs using ptreplay.library may
 include it in their distribution packages as long as this file follows
 as 'ptreplay.readme'. Of course the program using it must be freeware to.

       For inclusion in a shareware or commercial software package,
                        please contact the author.

                                   - - -

ptreplay.library (from now on ptreplay) is a standard Amiga shared library,
capable of playing music files with the well known 'M.K.' sign inside.

Some of PtReplay features:
· System friendly, uses CIA-timing for smooth playing
· Except for the ordinary Play, Pause, Resume and Stop there are fading
  volumechanging, ability to specify postition, turn on/off channels.
· Load modules via PTReplay. No need to open Dos.

Use this library as you would use any normal Amiga library. Included in
this package is include files for Assembler and C.

                                   - - -

A few weeks ago Mattias Karlsson (Betasoft) decided to pass the development
on because of lack of time. I volunteered to continue the development
since I've been using it myself alot and my interest in music and
programming.


Some word from Mattias Karlsson concerning the birth of ptreplay.

I wrote this library because I was unable to find a _good_ and system-
friendly replay routine for ProTracker. I based this loosely on the 
example sources that accompany ProTracker, but these were pretty badly
written, and sparsly commented, and the CIA routines did never work on
my machine. A job worth doing well is worth doing yourself, I though
and went to work. This is what emerged, a small library. Notice that it
is just about 8k, and still contains all needed to play good music (and it
has a lot of features too)

                                   - - -

Changes from 6.5 to 6.6 by Andreas Pålsson
------------------------------------------
* FIXED: Closelibrary()() wouldn't return. Reported by Michael Stoehr.

* CHANGE: Betasoft turns over the development to Andreas Pålsson.

Changes from 5.14 to 6.5 by Mattias Karlsson
--------------------------------------------
* Horror, the clean up routines clears some signals on the task that closes
  the library (maybe this is what caused the spurius GURUs?). (6.5)

* If you are to quick to start playing after the library has been opened
  it produced 4 hits and no sound since it checked the IORequesters before
  PTReplay_ctrltask has time to allocate them. (6.4)

* Now it only trigger ModuleRestart when you do a positionjump in the last
  position instead of everytime. (6.3)

* Now frees all channel on LibClose instead of libExpunge. (6.2)

* Sometimes ptreplay_ctrltask (See FAQ) "hangs" and starts busylooping
  when you did a DisplayBeep() with a sample. (6.1)

* New functions for reading the owned channels and sampledata. (6.0)

* A channel that is turned of was not left alone. (5.16)

* All channels were turned on at playtime, instead of only those that
  ptreplay owns. (5.15)

                                   - - -

My addresses:


     URL: http://www.algonet.se/~did/
  E-Mail: did@algonet.se
 Fidonet: Andreas Palsson 2:200/628.0        <- recommended
    Mail: Andreas Pålsson
          Trolle Ljungby
          S-290 34 Fjälkinge
          SWEDEN

or call my bbs at +46-(0)44-55031

The former author can be reached at:

     URL: http://www.algonet.se/~betasoft/
  E-Mail: betasoft@algonet.se
    FIDO: Mattias Karlsson@2:200/502.3



<EOD>
@ENDNODE

@NODE Bugs "Known bugs/Future/Bug report"
Known bugs:
  - On my system (A1200, 6MB, 68030, FPU, MMU) there are some errors
    while playing with the ptreplay.library.
    (the best thing to do is saving the song and load it into a player
    program)

To do:
  - Possibility of the usage of an extern player program
  - More variants for endings
  - Better samples

If you find any bugs, have suggestions for improvement or better samples
then write to me. You find my adress @{"here" Link Author}.
@ENDNODE

@NODE Author "The author"

            Alexander Weber
            Stormstraße 3
            66606 St. Wendel
            Germany

            EMail: alexw@cscip.uni-sb.de

@ENDNODE
