# Song Properties Song ▸ Song Properties… has three tabs, one for each kind of thing: - **Song**: what the song is. Everything here is saved in the module, and every edit can be undone. - **Playback**: how Mediante plays this module. Each row is **Auto** until you choose something, and a choice is kept with the module. - **File**: what the file says. Read-only. On a module with several songs it shows the one you are on, and the title bar says which ("Song 2 of 3"). It always opens on the Song tab. There is no OK button. A number applies as you leave its box (Enter, Tab or a click elsewhere) and the arrows apply at once; the name applies on Enter, or when you close the window. A Playback choice applies as you pick it. ## Song ### Song name Up to 64 characters. The song title beside the transport follows it. Names are **Latin-1 only**: MED stores the name one byte per character, so a character outside Latin-1 (an emoji, most non-European scripts) is refused with a message rather than left to make the save fail later. Leading and trailing spaces are dropped. ### Global transpose MED's Play Transpose: shifts every note of the song, from −128 to +127 semitones, and each instrument's own transpose adds to it. The arrows step by one; Shift steps by ten. A ProTracker .mod does not have one, so the row is not shown for it. ### Channel mode How the song plays, in one line: **Amiga 4-channel** (the Amiga's four hardware voices), **Amiga 5–8 channel** (its 8-channel player), **Mix** (OctaMED SoundStudio's software mixer) or **ProTracker module**. A mix-mode song says which MED it belongs to, with a button to switch: - **Windows MED** unlocks the full effect set — reverb, the group filter, the plugin slot and per-group buses — and saves as a Windows MED4 file. - **Amiga OctaMED** keeps echo and cross-echo on the master only, and saves in the Amiga layout. The two read volume commands on different scales, 0–127 and 0–64, and switching does not rescale them. So when the song has volume commands whose level would change — a hex `0C40` is full volume on the Amiga and 64/127 on Windows — the switch says how many first and asks. Switching to Windows keeps the song's pitch: it chooses Amiga pitch for the module (Playback tab) unless a pitch is already chosen. Undo switches back, and leaves that choice in place, where it agrees with Auto; pick Auto to remove it. A 4-channel or 5–8 channel song has **Convert to mix mode…** here instead (also in Tools ▸ Conversions, and in the Effects window). It plays the song through SoundStudio's mixer — effects, panning, the Mixer window, up to 64 tracks — and keeps the sound it has now. The dialog says what will change before anything does: - **Pitch.** *Keep the Amiga's pitch* (the default) plays every note on the Amiga's own period table, octave-3 repeats and all, as it plays now. It is kept with the module as its Pitch choice (Playback tab), so it saves as a .medz. *SoundStudio mix tuning* is standard mix-mode pitch: 14–18 cents sharper than a PAL Amiga, with the full six octaves. You can switch between the two at any time afterwards. - **Notes.** Sample and hybrid notes move up two octaves (C-1 → C-3), as OctaMED's own conversion does; synth notes stay where they are. Which instrument a note plays is worked out in the order the song plays it, so a note with no instrument number that plays a synth carried in from the block before is treated as a synth. **Notes above octave 3** — which the Amiga played in octave 3 — can be written where it played them: that changes nothing you hear while the pitch is the Amiga's, and is what keeps them right under mix tuning and in OctaMED. - **Tempo.** A BPM song keeps its tempo. An SPD song moves onto the mix formula, usually at the same number and within a fraction of a percent, and its tempo commands with it. *Exactly this speed* makes it a BPM song instead, with the exact fraction kept in the .medz. - **Tracks and level.** Mixing channels become the Amiga player's own budget (4, or 8 for a 5–8 channel song) and volume adjust 100 (200), which is the level every voice had. A track that was silent because it lay beyond the budget stays silent; raise Mixing channels to hear it. - **Stereo.** The Amiga's left-right-right-left becomes the song's own track pans, at the stereo separation you are listening with. A 5–8 channel song also loses that mode's limits: paired tracks get their own volumes, and hold and decay work. The master echo and stereo separation, which never played without a mixer, are cleared. The whole conversion is one step to undo. A ProTracker .mod has **Convert to a MED module…** here (also in Tools ▸ Conversions, and in the Effects window). A .mod can only be edited note by note; as a MED module every part of it can be edited — blocks, tracks, instruments. The dialog offers two kinds: - **A mix-mode MED song** (the default): the conversion above, with ProTracker's pitch kept — its period table is the Amiga's own — for effects, panning and the Mixer. Sample notes move up two octaves as they do there. - **A 4-channel Amiga MED song**: what OctaMED makes of a .mod, and what saving a .mod and opening the saved file gives. Either way the MED sequencer plays it from then on, as the .mod plays when its Player is the MED sequencer (Playback tab): ProTracker's pitch, and its cell behaviour — 5xy with a note slides to it, an instrument number alone swaps the sample at its loop — kept as the module's **ProTracker cells** choice. What only the ProTracker replayer does is listed in the dialog before anything changes: a vibrato or tremolo waveform (E4x, E7x) plays as MED's sine, a tremolo (7xy) swings a quarter as far, a tempo above 240 plays at 240, a sample offset (9xx) is set once instead of adding up and carrying on to the notes after it as ProTracker's does, and pattern loops (E6x) on more than one channel at once share MED's one loop. With VBlank timing set, the MED song plays by its tempo instead. `8xx` and `E8x` are left out, as ProTracker ignores them too. ProTracker's silent first word of each one-shot sample is written into it, and a sample the file cuts short is padded with silence — both as it plays now. It happens in place, as one step to undo, which gives the .mod back exactly as it was, edits and history included. The .mod on disk is not touched: the module is named `.med` from then on, and Save writes that. ### Mixing channels and Volume adjust Shown only in mix mode — no Amiga player reads either value. One setting in two boxes: - **Mixing channels** is the mixer's channel budget, 1 to 64; 0 means 4, the format's default. OctaMED plays no sampled or synth instrument on a track beyond the budget. - **Volume adjust** scales the whole song's output, as a percentage: 100 is unity. The arrows step by 10; Shift by 100. Together they set the level of each voice: raising the budget lowers it, and volume adjust brings it back up. The line under them shows the result for this song: the level per voice and in dB, how many tracks are above the budget, and whether the first option below had anything to move. **Keep mixing channels at the track count, and adjust volume to match.** While it is on, adding or removing tracks moves the budget to the song's track count, and volume adjust changes with it so the level stays where it was. Volume adjust is read-only while it is on; a budget typed away from the track count stands until the next track change pulls it back. On for a module made with File ▸ New, off for one loaded from disk. An editing aid, not saved with the module. **Reduce volume adjust automatically if the mix clips.** While the song plays, each time the output clips, volume adjust is lowered so the peak lands at −1 dB. It only ever goes down. It reacts to what it hears, so the first overs are heard before it does; soft clip on the Playback tab rounds those off. Each reduction is an ordinary edit you can undo. An editing aid, not saved with the module. How often a mixing module clips somewhere, as a rough guide: | Mixing channels | Modules that clip | |---|---| | 4 or fewer | about 1 in 5 | | 5 to 8 | about 1 in 8 | | 9 to 16 | about 1 in 20 | | more than 16 | about 1 in 8 | ### Song flags Only the flags that apply to this song are shown, as checkboxes: - **No slide on tick 0** — ProTracker runs its slides on ticks 1 to n and never on tick 0, so a slide covers one tick less per line than under MED's own rule. Set automatically for an imported .mod. OctaMED calls it No Slide On 1st Tick. - **Amiga LED filter** (Amiga-flavour songs) — the Amiga's switchable "power LED" filter, a fixed low-pass. Three things have to agree before it is heard: this flag, the LED filter setting following the module rather than forcing the filter on or off, and an Amiga filter model being selected (both in Settings ▸ Audio & output; see [LED filter](../docs/settings.md#led-filter)). ACTIVE beside it means all three agree; when one of them is stopping it, the line under the flag says which. A change takes effect at once, even mid-song. - **Slow HQ** (5–8 channel songs) — OctaMED V3 and V4's High Quality mode slowed playback down, and composers wrote to the slower speed, so those songs play too fast without it: this plays them 8.47% slower. It cannot be read from the file, because the flag did not exist before V5, so, as in OctaMED, it is a switch you set by hand. A flag that is set in the file but does nothing in this mode — Slow HQ on a mix song, say — is listed on the File tab. A ProTracker .mod has no MED song header and so no flags. ## Playback Each row says how Mediante plays this module, and each is decided in this order: 1. **the module's own choice**, if you have made one here; 2. **your default**, if you set one in Settings ▸ Playback ▸ Default compatibility; 3. **Auto**: what the file itself implies. The first line of every list is Auto, and it says what Auto comes to and where from — "Auto — SoundStudio mix, Amiga (from the file)", or "(your default)". Picking any other value makes it this module's choice: it applies at once, the row turns to the accent colour, and it is kept with the module — which means saving as .medz, since a .med has nowhere to put it. Picking Auto again removes it. Nothing chosen here reaches another module. A changed choice is an unsaved change, like an edit: the ● appears, and opening another module asks first. Picking your way back to where you started leaves nothing unsaved, so trying one value against another costs nothing. - **Player** (.mod only) — the **ProTracker 2.3D replayer**, a faithful port of pt2-clone's, or the **MED sequencer**, playing the module's commands translated to MED's, on the same Paula periods. - **Pitch** — for a mix-mode song, SoundStudio's mix tuning as the **Amiga** or **Windows** player computes it ([Mixer / tuning](../docs/settings.md#mixer--tuning)), or **Amiga Paula periods**: the Amiga's own period table, as a 4-channel song plays. That one is for a song converted from 4-channel mode, which it keeps exactly as it was — OctaMED's conversion moves sample notes up two octaves, and this reads them two octaves down again, octave-3 repeats and all. On a song written in mix mode its high notes fold into octave 3, so it is only ever a choice you make for a module, never a default. A 4-channel or 5–8 channel song, or a .mod, plays on the Amiga's Paula periods — the channel mode sets that, so the row says so instead of offering a choice. The Amiga video setting that pitch depends on is named under the rows. - **Upper freq.** — where pitch slides stop ([Upper-freq clamp](../docs/settings.md#upper-freq-clamp)). Auto follows the pitch: Paula's clamp for Paula periods, the mixer's otherwise. The ProTracker replayer has limits of its own, so the row is not shown while it plays. - **Soft clip** — hard clipping, which is what the Amiga does, flattens anything past full scale; soft clip rounds the overs off, and everything below −1.16 dB passes untouched. It takes effect at once, even while the song plays. - **Plugin tempo** — for plugins that sync to the tempo. They are normally told the song's BPM as MED counts it, and MED's tempo value is a BPM only at 6 ticks per line: at 9 ticks per line a song stored at 178 plays at about 118.67. **The musical tempo** tells them 6 × BPM ÷ ticks per line instead. The line under it gives both numbers for this song, or says that at 6 ticks per line it changes nothing. It reaches a playing song at once. - **Quirks** (folded) — behaviours that differ between MED versions, which Auto gets right for nearly every module: [Synth volume gate](../docs/settings.md#synth-volume-gate), [Filter-sweep rate](../docs/settings.md#win-med-filter-sweep-rate-bug), [Invert-loop edits](../docs/settings.md#invert-loop-edits) and [ProTracker cells](../docs/settings.md#protracker-cells) — for a module that came from a .mod, whether the MED sequencer plays ProTracker's two cell habits: 5xy with a note slides to it instead of retriggering, and an instrument number without a note swaps the sample when its loop comes round instead of only reloading the volume. Auto is what the file says, and a MED module saved from a .mod says so by its shape (4 tracks, no mixer, BPM 125 at 6 ticks and 4 lines per beat); a save that changes that shape keeps the choice in the .medz. Not shown while the ProTracker replayer plays, which does both itself. ## File Read-only: the format, which MED wrote it, its duration ("…" while that is still being measured), how many tracks, blocks and instruments it has, the length of the playing sequence, its tempo as stored, and every song flag the file sets, in words. **When this file was opened** appears only when the file needed something tolerated to open at all — an effect-group table that ends early, for example. It lists every such repair (the status line after loading shows only the first two), and it describes the file as it was opened, so no edit clears it. ## Saving The transpose, the mixing budget, volume adjust and the song flags live at fixed places in the song header, so a save patches them into the original file. Renaming the song, or switching the module's MED, makes the next save rewrite the module instead. Playback choices and the plugin tempo are kept in the .medz. A save also keeps what you have been hearing: if the saved file would be read differently when it is next opened — an older module rewritten as MMD3 reads its synth volume gate differently, for instance — the value the module has been playing with is kept with it as its own choice.