Chapter 8 - Arrange window



The arrange window is where you define the structure of your song, by chaining and assembling patterns.

The X axis represents the time (bars), the Y axis one of the 8 tracks on which you can play patterns which are represented by blocks. The red line shows the current position in the song.

Some tracks can be muted, in this case, they appear with a "M" on their left, and with a grey background as in this example:


User interface

The other main elements of the interface are:

The BPM indicator. The tempo in Beats Per Minute (BPM) is selected here. You can tap on the number to hide / show a larger slider as well as a Tap button implementing a "tap tempo" feature: just tap a simple beat on this button to quickly adjust the tempo.

The song position selector. Use the two arrows to scroll the view and reach any bar. The song can be up to 240 bars long. You can also use the left and right buttons of the 5-way navigator to quickly move in the song.

You can use the Zoom icon between the arrows to switch between a detailed (5 bars in portrait mode), normal (9 bars in portrait mode) and panoramic view (14 bars).

The list icon pops up a list of important positions (beginning of song, end of song, beginning of loop, sections...). By selecting one of these locations, you can scroll the view and change the position of the locator:


The pattern selector. Use this selector to select the pattern to write when using the draw tool. An extra option is available in the pattern selection dialog:

When you tap on this button, you directly reach the first position in the song where this pattern is played for the first time.

The song position area. These numbers indicate the song position, as well as the segment of the song that will be looped. In the given example, the bars 1, 2 and 3 will be looped.

To select the bars to loop, tap and drag in the lower part of the song position area.

To disable looping, tap and hold the stylus down for a few tenths of seconds in the lower part of the song position area.

To move the locator (song position), tap on the upper part of the song position area.

The turbo pattern selector. When using Bhajis Loops in Portrait mode with the Dynamic Input Area collapsed (320x480), this list shows the different patterns used in your song, for immediate access!

Just like in the pattern editor, the toolbar can be hidden, you need to tap on the left of the screen to display it ; and tap on an already selected tool to hide it. There is an exception for the selection and drawing tools, which display the following popup lists:

This list allows you to select which action is performed when dragging a block of patterns.

This list allows you to select which action is performed when adding patterns in the grid.



The use of the tools is described below:

Tap on a single pattern to select it ; Tap and drag anywhere except on a pattern to draw a rectangle and select all the patterns it contains. Tap and drag to perform one of following actions:

Move: Simply move the selection.

Copy: Copy the selection (only the references to the patterns are copied).

Copy & singularize: Copy the selection, the pattern themselves being also copied. Be careful, it is the best way to quickly reach the 128 patterns limit!


Tap at any location to write the selected pattern at this bar/track. Patterns can be selected with the popup list on the bottom left of the screen. Depending on the option chosen for this tool in its popup list, different actions are carried on:

Create: The selected pattern is placed in the grid.

Fill gap with repetitions: the selected pattern is repeated in the grid to fill the gap at the right of selected position.


Fill gap with sequence: the selected pattern and the next ones are chained in the grid to fill the gap at the right of selected position.


Tap a non-selected pattern remove it. Tap a selected pattern to remove the selection.

Note that in any case, the pattern is not physically removed - it is just its instance in the song that is deleted.

If nothing is selected, tap to insert an empty bar. If a block of patterns is selected, tap to insert n bars, where n is the width of the selection, and optionally copy the selection into these bars.

Tap on any track to mute it. When a track is muted, a "M" appears on its left, and it has a grey background.

This tool enables or disables the "Follow" mode. When this mode is enabled, the view scrolls automatically to follow the playing of the song.


When the selection tool is active, "Scribble" in one of the instances of the patterns in the arrange window to directly open it in the pattern editor.


Menu commands

Song menu

New erases the song currently edited and restore all the default settings. Be sure to have saved your work before using this command! The following confirmation dialog box is displayed:

When the Keep instruments option is enabled, only the song and patterns are reset, the samples and instruments are kept in memory. Moreover, when Use random color mood is checked, a random color palette will be selected for the patterns and instruments.

Open / Save / Save as opens / saves a module, that is to say the song, the patterns, the samples and the instruments packed in a single, replayable file. The following dialog box is displayed:

The popup list in the middle lets you select a location. It can be either an expansion card or the RAM. Saving in RAM can be much faster, but it might be tedious to organize your files. On the other hand, access time to some storage cards is slow, but they provide a convenient way to handle multiple directories. A tap on the Default Dir button moves to the default directories used by Bhajis Loops. The default directory for modules is "/modules".

Modules are saved with the .bjm extension on the card ; or with the bjmf type / Loop creator in RAM. This must not be changed.

  • When opening a song, you can write the first letter of the file name in the graffiti area, to quickly select the first match in the list.

  • Revert to saved reverts to the latest version of the song saved in memory or on the card.

    Info opens a dialog box in which you can enter a title and other information about your song (your name, email address, website url, etc.)

    If you want to get your MCSE certification - Mega Chipopo Sonic Engineer - you can tap on the Gilbert icon to generate a random chipopo certified song title! PAPRIKA POULETS INVADERS RULE!

    The Show me when loaded option automatically popups this dialog box every time the song is opened (in Bhajis Loops as well as in pioopiooplayer!)

    The Import MIDIfile command allow the importation and conversion of MIDIfile.

    The Export settings command is presented in the SynchroPoolp section.

    The Export MIDIfile command exports the current song as a type 1 MIDIfile. A dialog box allows you to select the destination - a database in RAM ; a MIDIfile on a memory card ; or finally a Ringtone if you own a Treo. Note that the export settings (instrument and tracks mapping) are those used by the conduit. Please refer to this section to read more about the export settings.

    The Render command exports a .WAV file from the selected loop (or the whole song if no loop is selected) to the memory card. The sampling rate and quality parameters are those defined for the realtime output in the Audio output dialog. After having selected a location (You can only write a .WAV to a memory card), the rendering starts. It can take several minutes depending on the transfer rate of the memory card.

    The SynchroPoolp is too pink to be detailed now!


    Edit menu

    Undo undoes the last edit action.

    Cut deletes the selected block and put it in the clipboard. If this creates a silence in your song, this blank is removed. For example in the second case, the silence is removed:

    Cut and leave space is the same as Cut, except that it never tries to remove silences. In the second case, it would lead to:

    Copy copies the selection to the clipboard.

    Paste inserts the contents of the clipboard at the position of the locator.

    Merge merges the patterns at the right of the locator with the contents of the clipboard.

    Replace replaces the patterns at the right of the locator with the contents of the clipboard.

    Select all / Select after selects the whole song, or only the patterns after the locator.

    Delete bar / Insert bar deletes / inserts a bar at the current locator position.

    Go menu

    The Go commands scroll the view and the position of the playing bar to different items (Begining of song, end of song, loop start, loop end, and finally the actual location of the locator). The special Go / Position command allows you to quickly move to a given position in the song:

    You can select a bar number either by entering it in the corresponding field, by dragging the scroll bar (from the start of the song to its end), or by selecting one of the values previously selected in this dialog - thanks to the History field. A tap on Go to scrolls the view to the selected bar and also move the locator (play position) ; A tap on Scroll to just scrolls the view to the selected bar.


    Loop menu

    The Loop commands set the loop markers to different positions: loop the whole song ; loop from the begining of the song to the current position ; loop from the current position to the end of the song.

    The New Section command creates a new section corresponding to the current loop.

    The Section command displays the following dialog:

    You can create, modify or delete sections in this dialog. A tap on the Up or Down buttons reorders the sections. A section is nothing more than a named segment of your song. Sections are particularly useful when using the Live! mode.

    The Warp command displays the following dialog:

    This dialog box is used to create warps between sections, for use in the Live! mode. Tap on Add to create a new warp, select the origin (section, bar) and the destination (section, bar). You can as well delete existing warps.

    The Live! command switches to the Live! mode.


    Other menus

    Strategies assists you in your creative process, by displaying random inspiring ideas (from Brian Eno and Peter Schmidt's Oblique Strategies, or from other Bhajis Loops users). You can select a deck of cards in the popup list. The button in the bottom right corner can be used to draw another card from the deck.

    The other menu items are common to the other editors and will be detailed later.


    Importing MIDIfiles

    Importing MIDI files to Bhajis Loops is not a trivial task because of the major differences between these formats. Here is a summary of these differences:

      Bhajis Loops MIDIfile
    Instruments Sample based synthesis. Device specific.
    Drums One instrument per instrument of the kit, pitched. One note per instrument on a specific channel.
    Layout 1 to 4 bars patterns containing several instruments. Up to 8 patterns played simultaneously. Continuous tracks containing information split accross channels.
    Timing Step-based (1/8 ppq). Fine timing scale.
    Metadata One single text field per song. Various meta tags and time-positioned lyrics tags


    It means that some information will be lost during the conversion. However, Bhajis Loops will try its best to ease the process!

    The first step of the conversion process is to pick a MIDIfile in the Import MIDIfile dialog - which looks like a classic song opening dialog, except that it lists only files with the .mid extension:

    After having selected the file, a new dialog box is displayed. This form provides you with important information related to the way the MIDI file import will be performed. The circle at the left of the "Conversion details" text informs you of the status of the import.

    GREY: preprocessing. This first pass determines how many channels / tracks are used by the MIDI file, and try to fit them with an appropriate choice of Bhajis Loops tracks, patterns, instruments and song structure. More precisely:

    At the end of this stage, a report is displayed in the dialog box. It lists how MIDI channels will be mapped to Bhajis Loops instruments, which time signature will be used, which pattern size is the most relevant, etc. You can quickly find out the results by looking at the color of the circle:

    You can cancel the import, inspect the different errors, warnings and messages, or tap on "Ok" to validate the conversion. In this case, the circle is BLUE and the conversion takes approximately ten more seconds.

    The conversion code is not trivial and involves solving some heavy optimization problems.


    If you want to import a 4/4 song making heavy uses of triplets, try to check the Triplets option. It will be reclocked to a 12/8 signature in order to be more easily edited in Bhajis Loops.

    Here is an example:

    Without Triplets disabled, it will be imported as:

    With Triplets enabled, it will be imported as:


    And now for something completely different...

    It is important to know that a "camouflage" option is available in the preferences, that will turn Bhajis Loops into a fake spreadsheet program, thanks to a marvellous grid! Useful when you want to make music during business meetings, while pretending you're checking the quarterly consolidated sales.


    All contents and code © Olivier Gillet 2003-2006 - ol dot gillet at gmail dot com

    Index - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14