Copyright (c) 2010-2026, WADA Masashi All rights reserved.
Web: https://www.yknk.org/miditrail/
Mail: 
1. Introduction
2. System requirement
3. How to get started
4. Operation Panel
5. Opening MIDI files
6. Playback MIDI files
7. View Mode
8. Moving the viewpoint
9. MIDI IN monitor
10. Setting
11. Keyboard operations
12. Restriction
13. FAQ
14. How to customize
15. Appendix
16. Copyright and license
17. Acknowledgements
18. History
"MIDITrail" is a MIDI player which provides 3D visualization of MIDI datasets.
You can enjoy not only listening but also viewing.
MIDITrail supports SMF format 0/1, and multiple MIDI ports.
MIDITrail is available for Windows, macOS and iOS.
Screenshot: PianoRoll3D

Screenshot: PianoRollRain

OS: Windows 7 / 8 / 10 / 11
VIDEO: Support for DirectX 9.0c graphics
It is recommended that your PC has high performance graphics for smooth animation.
If the MIDI datasets contains a lot of notes, the software needs more performance graphics.
As long as the performance of your PC allows, please enjoy MIDITrail with large window.
MIDITrail Ver.1.2.5 or later does not support Windows 2000 / XP / Vista.
Please use MIDITrail Ver.1.2.4 on Windows 2000 / XP / Vista.
Extract ZIP file, and open "MIDITrail.exe".
ZIP file name
MIDITrail-Ver.X.X.X-Windows.zip -- MIDITrail 32bit version
MIDITrail-Ver.X.X.X-Windows64.zip -- MIDITrail 64bit version
Click "MIDI OUT..." in the "Option" menu to display the MIDI OUT settings dialog.
You must configure the output destination for Port A.
Drag and drop a MIDI file (*.mid) into the MIDITrail window to open it.
Click the button on the operation panel to start playback.
Recomposer is an old popular MIDI sequence software in Japan.
MIDITrail can open Recomposer data files (*.rcp *.r36 *.g36)
using RCPCV.DLL (Recomposer File Converter) which Mr. Fummy releases.
If you want to open Recomposer data files,
please download RCPCV.DLL and copy it to the folder "MIDITrail.exe" exists.
Incidentally, MIDITrail(32bit) can load RCPCV.DLL, but MIDITrail(64bit) can not load RCPCV.DLL.
RCPCV.DLL http://www.vector.co.jp/soft/win95/art/se114143.html
You can use the operation panel to control functions such as selecting and playing MIDI files and changing the viewpoint.

You can toggle the display of the operation panel by selecting "Operation Panel" from the "Window" menu.
Some MIDITrail functions cannot be accessed via the operation panel; please use the menu instead.
(e.g., MIDI IN monitor, saving viewpoints, various settings, viewing the manual)
Clicking the "Open File" button on the operation panel will displays the file selection dialog,
where you can select a standard MIDI file (*.mid).
You can also open a file by dragging and dropping a standard MIDI file (*.mid) into the MIDITrail window.
You can also open a MIDI file upon launching MIDITrail by dropping the file onto the shortcut of MIDITrail.
MIDITrail can play MIDI files stored in a folder in sequence.
Clicking the "Open Folder" button on the operation panel will display a folder selection dialog,
where you can select the folder containing the Standard MIDI files (*.mid).
You can also open a folder by dragging and dropping it into the MIDITrail window.
If you want to start MIDITrail by command line, you can use following arguments.
MIDITrail.exe [-p] [-q] ["path\to\file"]
| argument | detail |
|---|---|
| -p | Play MIDI file after startup of MIDITrail. If you did not specify "path\to\file", this option will be ignored. |
| -q | End MIDITrail after end of playback. If option "-p" was not specified, this option will be ignored. |
| path\to\file | MIDI file path. When you specify a path including a space character, please surround with a double quotation mark. |
You can use the operation panel to start, pause, stop, and skip MIDI file playback, as well as change the playback speed.
When the "Repeat" button on the operation panel is selected, MIDITrail repeats the playback of the MIDI file.

You can also control playback using menus, a keyboard, or a game controller instead of the operation panel.
Opening the folder allows you to use the folder playback function.
Clicking the "Previous File" and "Next File" buttons on the operation panel allows you to open the files in the folder sequentially.
When the "Folder Playback" button is selected, MIDITrail automatically opens and begins playing the next file after the current MIDI file finishes playing.
When the "Repeat" button is selected, MIDITrail will start playing the first MIDI file after the last one finishes, thereby repeating the folder playback.

The contents of the playback counter displayed during MIDI file playback are as follows.
| Counter | Details |
|---|---|
| TIME | Elapsed time. |
| BPM | Tempo (Beats Per Minute). |
| BEAT | Time signature. |
| BAR | Number of bars. |
| NOTES | Number of notes. |
| SPEED | Playback speed. |
Clicking the "View Mode" button on the operation panel will displays the view mode selection dialog, where you can select the view mode.
You can also select the view mode from the "View" menu. You can not change the view mode while playing or pausing.

You can switch the display/effect at the "View" menu.

The piano roll bar will move up/down or right/left with change of pitch bend.
Some MIDI animation works are using pitch bend to shift the piano roll bars without change keys.
If the MIDI animation is not displayed correctly, please disable the pitch bend effect to fix the piano roll bars.
When you select "Full Screen" from the "Window" menu, you can switch between window mode and full screen mode.
You can move freely in 3D space, and look at MIDI datasets from all directions
by operation of keyboard and mouse, like FPS (First Person Shooter) game.
Although there is sense of incongruity in the beginning,
it will be very comfortable as experience is gained.

When you click the window, it will become the view control mode by the mouse,
and mouse cursor will disappear.
The eye direction synchronizes movement of your mouse.
If you click once again, view control mode will be canceled.
And you can rotate piano roll using mouse wheel.

You can operate by XInput game controller.
| Button / Stick | Action |
|---|---|
| START button | Play / Pause / Resume |
| A button | Play / Pause / Resume |
| B button | Stop |
| X button | Viewpoint: down |
| Y button | Viewpoint: up |
| LB/RB shoulder button | Change viewpoint |
| LT/RT trigger button | Skip back/forward |
| Directional pad | Viewpoint movement: front and back, right and left |
| Left stick | Viewpoint movement: front and back, right and left |
| Right stick | Eye direction |
NOTE: MIDITrail does not support DirectInput game controller.
When you click "Viewpoint 1 / 2 / 3" button on the operation panel, you can switch to a standard viewpoint.
When you click "My Viewpoint 1 / 2 / 3" button, you can switch to a viewpoint saved in advance.

If you want to save the current viewpoint, select "Save My Viewpoint 1 / 2 / 3" from the "View" menu.
The viewpoint is saved for each view mode.

You can also use the keyboard to switch and save viewpoints.
You can view data sets received from MIDI IN device in realtime.
You need to select the device to be monitored in the MIDI IN settings beforehand.
When you select "Start Monitoring" from the "Playback" menu, MIDI IN monitoring will start.
NOTE: MIDITrail can not record data sets received from MIDI IN.
When you select "Window size..." from the "Window" menu, the window size configuration dialog will appear.
You can select your favorite window size.
You can not change window size while playing or pausing.

[Width] [Height]
You can specify any window size.
[Apply to the view area]
If you want to apply that size to the view area, check this option.
When you select "MIDI OUT..." from the "Option" menu, the MIDI OUT configuration dialog will appear.

[Port A]
At least, you must select the MIDI OUT device of "Port A". Ordinary MIDI datasets is sent to "Port A".
[Port B,C,D,E,F]
If you want to play the MIDI datasets which uses multiple ports,you must select the MIDI OUT device of port B, C, and so on.
To play the MIDI datasets which uses multiple ports, it is necessary to prepare MIDI interface and MIDI module which supports multiple ports.
Select "MIDI IN..." from the "Option" menu, then "MIDI IN configuration" dialog will appear.

[MIDI IN]
Select the MIDI IN device to monitor.
[MIDITHRU]
If you check the MIDITHRU, MIDITrail will send data sets received from MIDI IN to MIDI OUT.
Select "Synthesizer..." from the "Option" menu, the Internal Wavetable Synthesizer configuration dialog will appear.
You can not change Synthesizer configuration while playing or pausing.

[Wavetable File]
The default value is the wavetable file (GeneralUser-GS.sf2) included with the app.
You can select your wavetable file.
The extension of the wavetable file must be ".sf2".
MIDITrail assigns channel No.10 for percussion.
[Max Voices]
Select the maximum number of voices for waveform rendering. The default value is 512.
Selecting a smaller value can reduce the load on the waveform rendering process,
but it may cause sound interruptions when playing MIDI data with a large number of notes.
[Sustain (CC#64)]
This setting allows you to choose whether or not to reflect the sustain (control change #64)
contained in the MIDI data in the waveform rendering process. The default value is enabled.
[Acknowledgements]
This displays copyright notices of the library and sound bank.
Select "Graphic..." from the "Option" menu, the graphic configuration dialog will appear.
You can not change graphic configuration while playing or pausing.

[Anti-aliasing]
If anti-aliasing is enabled, a notch (jaggy) will decrease and a more beautiful picture will be displayed.
However, since processing of anti-aliasing is heavy, performance may be poor when you select a upper level.
If your Mac does not support anti-aliasing, it is displayed as "Not supported".
[Background image file path]
If you want to display the background image, specify the file path of the image.
The extension of the image file must be ".jpg" or ".png".
[Quarter note length]
You can change a quarter note length of piano roll.
You can specify a value from 0% to 1000%. The default value is 100%.
You can customize the colors displayed on the screen.
When you select "Color..." from the "Option" menu, the color configuration dialog will appear.
You can select the color palette and change it to your favorite color scheme.
You can not change the color while playing or pausing.

When you click "Edit..." button, the color palette configuration dialog will appear.
You can customize the color palette.
You can not edit the default color palette.

Gradation Tool
[Set Gradation Colors] You can assign gradation colors for channels that you selected.
Parameter Setup Tool
[Set Default Colors] Sets the default color for all items.
[Export Color Parameters...] You can edit the exported parameters with a text editor.
[Import Color Parameters...] You can import the parameters that you edited with a text editor. It is possible to enter part of the parameters.
You can perform operations quickly using the keyboard. The keyboard operations for playing MIDI files are shown in the following figure.

| Kind | Key | Action |
|---|---|---|
| File | CTRL + B CTRL + P | Open previous file. |
| CTRL + N | Open next file. | |
| Playback | SPACE | Play / Pause |
| ESC | Stop | |
| 12 | Skip Backward / Skip Forward | |
| 45 | Playback Speed Down / Up | |
| F2 | Double speed playback | |
| Moving Viewpoint (left hand) | WS | It moves forward and backward. |
| AD | It moves left and right. | |
| QE | It goes up and down. | |
| ZC | It moves along the direction of MIDI datasets. (In PinoRollRain, it moves along the piano keyboard.) | |
|
SHIFT + [WS] SHIFT + [AD] SHIFT + [QE] SHIFT + [ZC] |
Move quickly. | |
|
CTRL + [WS] CTRL + [AD] |
Control the direction of the gaze. | |
| Moving Viewpoint (right hand) | ↑↓ | It moves forward and backward. |
| ←→ | It moves left and right. | |
| PgUpPgDn | It goes up and down. | |
| ,. | It moves along the direction of MIDI datasets. (In PinoRollRain, it moves along the piano keyboard.) | |
|
SHIFT + [↑↓] SHIFT + [←→] SHIFT + [PgUpPgDn] SHIFT + [,.] |
Move quickly. | |
|
CTRL + [↑↓] CTRL + [←→] |
Control the direction of the gaze. | |
| Switching viewpoints | 7 | Move to standard viewpoint 3 |
| 8 | Move to standard viewpoint 2 | |
| 9 | Move to standard viewpoint 3 | |
| CTRL + 7 | Move to my viewpoint 1 | |
| CTRL + 8 | Move to my viewpoint 2 | |
| CTRL + 9 | Move to my viewpoint 3 | |
| SHIFT + CTRL + 7 | Save my viewpoint 1 | |
| SHIFT + CTRL + 8 | Save my viewpoint 2 | |
| SHIFT + CTRL + 9 | Save my viewpoint 3 | |
| Screen | F11 | Switching full screen |
If you use the MIDI module which delays sound (such as software sound modules), the MIDI sound and display may not synchronize.
MIDITrail renders all notes of the MIDI file in real time.
Therefore if MIDI file has a large number of notes, the load of rendering becomes high.
In order to enjoy MIDI file which contains tens of thousands of notes comfortably,
you have to use Mac which has high performance graphics.
In specification of SMF (Standard MIDI File), a method to select port is not defined.
However there is the unofficial method (*1) to select port.
MIDITrail supports that method, but may be unable to play the MIDI file.
It depends on the MIDI file.
(*1) Meta event (FF 21 01 pp) is the command to select port.
MIDITrail can't open the MIDI file whose delta time represents actual time.
MIDITrail does not have a playlists function now, but you can use folder play function.
For details, please refer to "(2) Folder Playback" in "6. MIDI File Playback".
The error occurs when the version of DirectX in your PC is old. Please install the latest version of "DirectX End-User Runtime".
Microsoft: DirectX End-User Runtimes (June 2010)
https://www.microsoft.com/en-us/download/details.aspx?id=8109
If your PC does not support Direct3D, this error occurs.
Please execute "DirectX Diagnostic Tool"(dxdiag.exe), and select "Display" tab.
Is the "Direct3D Acceleration" enabled?
If you can't change "Direct3D Acceleration" to "Enabled", your PC does not support Direct3D.
Please use the PC which supports DirectX 9.0c graphics.
Please try to change window size to small, and turn off anti-aliasing. Then the load of rendering becomes low.
Check FPS value in window title.
If the FPS value is under 60, the performance of graphics is insufficient.
When MIDI file has a large number of notes, the load of rendering becomes high.
To confirm the performance of your Mac, please try to open MIDI file which contains few notes.
If the animation does not improve, please use Mac which has high performance graphics.
Sorry, it is a specification.
You can customize MIDITrail as your like, by editing the files which is in "conf" folder.
| File | contents |
|---|---|
| conf/Player.ini | Player configuration |
| conf/PianoRoll3D.ini | View mode configuration: Piano Roll 3D |
| conf/PianoRoll2D.ini | View mode configuration: Piano Roll 2D |
| conf/PianoRollRain.ini | View mode configuration: Piano Roll Rain |
| conf/PianoRollRain2D.ini | View mode configuration: Piano Roll Rain 2D |
| conf/PianoRollRing.ini | View mode configuration: Piano Roll Ring |
| conf/PianoRoll3DLive.ini | View mode configuration: Piano Roll 3D (MIDI IN Monitor) |
| conf/PianoRoll2DLive.ini | View mode configuration: Piano Roll 2D (MIDI IN Monitor) |
| conf/PianoRollRainLive.ini | View mode configuration: Piano Roll Rain (MIDI IN Monitor) |
| conf/PianoRollRain2DLive.ini | View mode configuration: Piano Roll Rain 2D (MIDI IN Monitor) |
| conf/PianoRollRingLive.ini | View mode configuration: Piano Roll Ring (MIDI IN Monitor) |
Edit [PlayerControl] section.
| Name | Details |
|---|---|
| AllowMultipleInstance | Allow multiple instances of the MIDITrail (0:disallow / 1:allow) |
| AutoPlaybackAfterOpenFile | Playback automatically after opening file (0:disable / 1:enable) |
Edit [ViewControl] section.
| Name | Details |
|---|---|
| ShowFileName | Show the file name insted of the title (0:disable / 1:enable) |
Edit [SkipControl] section.
| Name | Details |
|---|---|
| SkipBackTimeSpanInMsec | Skip back time span (msec) |
| SkipForwardTimeSpanInMsec | Skip forward time span (msec) |
| MovingTimeSpanInMsec | Skip animation time span (msec) |
Edit [PlaybackSpeedControl] section.
| Name | Details |
|---|---|
| SpeedStepInPercent | Playback speed step (%) |
| MaxSpeedInPercent | Playback speed max ratio (%) |
Edit [Playback] section.
| Name | Details |
|---|---|
| DelayBetweenSongsInMsec | Delay between songs (msec)(0 - 10000) |
Edit [FirstPersonCam] section.
| Name | PR-3D/2D | PR-Rain/2D | PR-Ring | Details |
|---|---|---|---|---|
| VelocityFB | yes | yes | yes | Velocity of forward and backward. (m/s) |
| VelocityLR | yes | yes | yes | Velocity of left and right. (m/s) |
| VelocityUD | yes | yes | yes | Velocity of up and down. (m/s) |
| VelocityPT | yes | yes | yes | Angular velocity of look. (degree/s) |
| AcceleRate | yes | yes | yes | The rate of acceleration when push SHIFT key. (n times) |
| VelocityAutoRoll | yes | yes | yes | Angular velocity of auto rotation of piano roll (degree/s) |
| VelocityManualRoll | yes | yes | yes | Angular velocity of manual rotation of piano roll (degree/s) |
Edit [Scale] section.
| Name | PR-3D/2D | PR-Rain/2D | PR-Ring | Details |
|---|---|---|---|---|
| QuarterNoteLength | yes | yes | yes | Length of quarter note (m) |
| NoteBoxHeight | yes | no | yes | Height of note box (m) |
| NoteBoxWidth | yes | no | yes | Width of note box (m) |
| NoteStep | yes | no | no | Interval length of notes in a channel (m) |
| ChStep | yes | no | yes | Interval length of channels (m) |
| RippleHeight | yes | no | yes | Height of ripple (m) |
| RippleWidth | yes | no | yes | Width of ripple (m) |
| PictBoardRelativePos | yes | no | yes | The relative position which crosses perpendicularly the board and the playback section. 0.0 - The left edge of board crosses playback section 0.5 - The center of board crosses playback section 1.0 - The right edge of board crosses playback section |
| LiveNoteLengthPerSecond | yes | yes | yes | Note length for 1 second in monitor (m) |
| LiveMonitorDisplayDuration | yes | yes | yes | Display duration in monitor (msec) |
| RingRadius | no | no | yes | Radius of ring (m) |
If you set small value to QuarterNoteLength, you can enjoy MIDI datasets like miniature garden.
Edit [Color] section. "A" of "RGBA" means alpha value.
| Name | PR-3D/2D | PR-Rain/2D | PR-Ring | Details |
|---|---|---|---|---|
| NoteColorType | yes | yes | yes | Note color type CHANNEL: Assign the channel color to the piano roll bar. (Ch-XX-NoteRGBA) SCALE: Assign the scale color to the piano roll bar. (Scale-XX-NoteRGBA) |
| Ch-01-NoteRGBA Ch-02-NoteRGBA : Ch-16-NoteRGBA | yes | yes | yes | Color of the piano roll bar at each channel.(RGBA) |
| Scale-01-NoteRGBA Scale-02-NoteRGBA : Scale-12-NoteRGBA | yes | yes | yes | Color of the piano roll bar at each sacle.(RGBA) 01=C,02=C#,03=D,04=D#,05=E,06=F,07=F#,08=G,F09=G#,10=A,11=A#,12=B |
| GridLineRGBA | yes | no | yes | Color of the grid line and bar line. (RGBA) If A of RGBA is 00 then the grid line will disappear. |
| PlaybackSectionRGBA | yes | no | no | Color of the playback section. (RGBA) |
| CaptionRGBA | yes | yes | yes | Color of the caption/counter string.(RGBA) |
| BackGroundRGB | yes | yes | yes | Back ground color(RGB) |
Edit [ActiveNote] section.
| Name | PR-3D/2D | PR-Rain/2D | PR-Ring | Details |
|---|---|---|---|---|
| Duration | yes | no | yes | Duration of active note flash.(msec) |
| WhiteRate | yes | no | yes | White rate at "NOTE ON". 0.0 Same color as piano roll bar. It means no flash. 0.5 Neutral color of piano roll bar and white. 1.0 White. |
| EmissiveRGBA | yes | no | no | Emissive color of active note. (RGBA) This value will be ignored on PianoRoll2D. |
| SizeRatio | yes | no | yes | Size magnification ratio of active note. This value will be ignored on MIDI IN Monitor. |
Edit [Ripple] section.
| Name | PR-3D/2D | PR-Rain/2D | PR-Ring | Details |
|---|---|---|---|---|
| Duration | yes | no | yes | Duration of a ripple.(msec) |
Edit [Stars] section.
| Name | PR-3D/2D | PR-Rain/2D | PR-Ring | Details |
|---|---|---|---|---|
| NumberOfStars | yes | yes | yes | The number of stars to draw. |
Edit [Bitmap] section.
Place your bitmap file to "data" folder which exists under the MIDITrail folder.
And write the bitmap file name to INI file.
If the height or width of bitmap is too big, your PC may be unable to draw the bitmap.
| Name | PR-3D/2D | PR-Rain/2D | PR-Ring | Details |
|---|---|---|---|---|
| Board | yes | no | yes | Bitmap file name of the picture board.(ex. "data\Board.bmp") Instead of piano keyboard, you can display your favorite wallpaper. The aspect ratio of bitmap is arbitrary. To adjust the relative position which crosses perpendicularly the board and the playback section, please edit "[Scale] / PictBoardRelativePos". |
| Ripple | yes | no | yes | Bitmap file name of the ripple.(ex. "data\Ripple.bmp") You can change ripple which is displayed on "NOTE ON". The aspect ratio of bitmap is arbitrary. To adjust ripple display size, please edit "[Scale] / RippleHeight, RippleWidth". |
| Keyboard | no | yes | no | Bitmap file name of piano keyboard.(ex. "data\Keyboard.bmp") Texture image of Piano keyboard. You can not change the aspect ratio of this bitmap. |
Edit [PianoKeyboard] section.
| Name | PR-3D/2D | PR-Rain/2D | PR-Ring | Details |
|---|---|---|---|---|
| KeyDownDuration | no | yes | no | Duration of key down (msec) |
| KeyUpDuration | no | yes | no | Duration of key up (msec) |
| KeyboardStepY | no | yes | no | Keyboard step interval: Horizontal direction (m) |
| KeyboardStepZ | no | yes | no | Keyboard step interval: Vertical direction (m) |
| KeyboardMaxDispNum | no | yes | no | The number of the maximum keyboards (0-16) |
| WhiteKeyColor | no | yes | no | Color of white key. (RGBA) |
| BlackKeyColor | no | yes | no | Color of black key. (RGBA) |
| ActiveKeyColorType | no | yes | no | Active key color type STANDARD: Standard color (ActiveKeyColor) NOTE: Note color (Ch-XX-NoteRGBA or Scale-XX-NoteRGBA) |
| ActiveKeyColor | no | yes | no | Color of active key. (RGBA) |
| ActiveKeyColorDuration | no | yes | no | Duration of change from the color of note ON to the last neutral color. (msec) |
| ActiveKeyColorTailRate | no | yes | no | Definition of the last neutral color. Color ratio of the color of note ON (red) and the color of key (white/black) (0.0-1.0) |
| KeyDispRangeStart | no | yes | no | Key display range: start position (0-127) In typical 88-key piano, start position is 21(A0). |
| KeyDispRangeEnd | no | yes | no | Key display range: end position (0-127) In typical 88-key piano, end position is 108(C8). |
Edit [Viewpoint-2],[Viewpoint-3] section. You can not edit viewpoint 1.
| Name | PR-3D/2D | PR-Rain/2D | PR-Ring | Details |
|---|---|---|---|---|
| no | yes | yes | yes | X-coordinate |
| Y | yes | yes | yes | Y-coordinate |
| Z | yes | yes | yes | Z-coordinate |
| Phi | yes | yes | yes | Azimuth angle (degree) |
| Theta | yes | yes | yes | Zenith angle (degree) |
| ManualRollAngle | yes | yes | yes | Manual rotation angle (degree) |
| AutoRollVelocity | yes | yes | yes | Automatic rotation velocity (degree/second) |
(a) The structure of "Piano roll 3D" visualization

When MIDITrail open the MIDI datasets uses multiple ports, unused port will be not displayed.
For example, if the MIDI datasets uses port A, C and E,
MIDITrail displays port A, C and E side by side, and omits port B and D.
(b) The structure of "Piano Roll Rain" visualization

When MIDITrail open the MIDI datasets uses multiple ports,
only piano keyboards of port A will be displayed.
However piano roll bars of all ports will be displayed.
WADA Masashi holds the copyright of MIDITrail.
MIDITrail is released under the BSD license.
Copyright (c) 2010-2026, WADA Masashi <> All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the author nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
MIDITrail uses the following library and SoundFont bank.
Copyright (C) 2017-2023 Bernhard Schelling (Based on SFZero: Copyright (C) 2012 Steve Folta)
https://github.com/schellingb/TinySoundFont
License details
Copyright (C) 1997-2025 S. Christian Collins
https://www.schristiancollins.com/
License details
osdn#<id> ... OSDN Ticket Archive
ghwin#<id> ... GitHub MIDITrail-Windows
| yyyy/mm/dd | Version | Changelog |
|---|---|---|
| 2010/03/08 | Ver.0.0.0 | Development start |
| 2010/05/18 | Ver.1.0.0 beta | Beta release |
| 2010/06/02 | Ver.1.0.0 | First formal release |
| 2010/06/05 | Ver.1.0.1 |
osdn#22102 Fixed bug (execution fails by missing Visual C++ runtime library) osdn#22106 Fixed bug (size of about dialog is big on Windows English version) |
| 2010/06/20 | Ver.1.0.2 |
osdn#22218 Added English manual osdn#22108 Fixed bug (crash when opening the MIDI file exported from VOCALOID) osdn#22217 Fixed bug (overlapped ripples flicker) |
| 2010/07/11 | Ver.1.0.3 |
osdn#22319 Added color effect to active piano roll bar osdn#22412 Added pitch bend effect to piano roll bar osdn#22425 Added view mode of piano roll 2D osdn#22442 Added switch interface of display and effect osdn#22413 Fixed bug (rendering performance has declined by specular effect) osdn#22414 Fixed bug (total count of notes is incorrect) osdn#22424 Fixed bug (duration of a ripple is not constant) |
| 2010/07/25 | Ver.1.0.4 |
osdn#22320 Added application icon osdn#22522 Added support for Recomposer data file osdn#22523 Added command line interface osdn#22582 Added double speed playback mode osdn#22585 Added function of piano roll rotation by a mouse wheel osdn#22566 Fixed bug (Playback time was slightly short) osdn#22506 Fixed bug (Note may continue sounding after the end of playback) |
| 2010/08/06 | Ver.1.0.5 |
osdn#22633 Fixed bug (Piano roll rotation status is not saved by "Save viewpoint") osdn#22652 Fixed bug (Parse error when opening 55MCMDL1.MID "WATANABE Michiaki MEDLEY") osdn#22709 Fixed bug (MIDITrail sends redundant "F7" to MIDI-OUT with multi-packet system exclusive message) osdn#22710 Fixed bug (Auto rotation speed of piano roll is not constant) |
| 2010/08/29 | Ver.1.1.0 beta | Beta release (Added "Piano Roll Rain") |
| 2010/09/19 | Ver.1.1.0 |
osdn#23174 Added view mode "Piano Roll Rain" osdn#23175 Fixed bug (File open dialog is not modal) |
| 2010/10/17 | Ver.1.1.1 |
osdn#23439 Added Anti-aliasing support osdn#23347 Fixed bug (Key down timing and a piano roll don't synchronize in PianoRollRain) osdn#23348 Fixed bug (Spelling error in file open dialog) osdn#23422 Fixed bug (Position of black is not correct in PianoRollRain) |
| 2010/12/26 | Ver.1.1.2 |
This version was released with MIDITrail for Mac OS X osdn#23970 Added eye direction control by key operation osdn#23971 Updated texture images osdn#23972 Updated application icon osdn#23497 Fixed bug ("Piano Roll Rain" item in "View" menu is always enable) osdn#23968 Fixed bug (Time signature was always 4/4 after loading file) osdn#23969 Fixed bug (Space charactor in the title string has been ignored) |
| 2012/01/15 | Ver.1.1.3 |
osdn#27006 Merged features of MIDITrail Ver.1.1.3 for Mac OS X osdn#25454 Added grid line display control osdn#26987 Added playback speed control osdn#26988 Added skip control osdn#26989 Added stars and counter display control osdn#27005 Added figure of player operations guide to "How to view dialog" osdn#27091 Added check of DirectX feature support (Index Buffer) osdn#26990 Fixed bug (Typographical errors on the license) osdn#27139 Fixed bug (The color of note boxes are whitish in Piano Roll 3D) osdn#27140 Fixed bug (The color of stars are dark in Piano Roll Rain) |
| 2012/03/04 | Ver.1.2.0 |
osdn#27711 Merged features of MIDITrail Ver.1.2.0 for Mac OS X osdn#27458 Added MIDI IN monitoring osdn#27459 Added MIDI OUT auto configuration osdn#27712 Added shortcut key of File Open osdn#27725 Fixed bug (Error occurs when the MIDI data contains the track with 6 or more port numbers) |
| 2013/12/04 | Ver.1.2.1 |
osdn#30545 Added key display range control osdn#30546 Added back ground color control osdn#30547 Added scale color assignment to the piano roll bar osdn#30553 Added ability to render the user-specified 3D model osdn#32360 Added menu item "Auto save viewpoint" osdn#32361 Added ability to save viewpoint in MIDI IN monitoring osdn#32362 Added ability to playback automatically after opening file osdn#32363 Added ability to open the file while playing osdn#32364 Added ability to inhibit multiple instances of MIDITrail osdn#32366 Added ability to display the file name osdn#32367 Added view mode "Piano Roll Rain 2D" osdn#32427 Added note color assignment to active key osdn#32365 Changed title caption ("TITLE:" string was removed) osdn#30552 Improved event message queue mechanism osdn#30548 Fixed bug (At the start of playback, MIDI data transmission is blocked) osdn#32359 Fixed bug (MIDITrail does not send some CC events at skip processing) |
| 2014/02/23 | Ver.1.2.1a |
osdn#33252 Added support for Windows 64bit |
| 2014/04/20 | Ver.1.2.1b |
osdn#33674 Fixed bug (When NSX-39 was selected as MIDI OUT device, error occurs at the start of playback) osdn#33695 Fixed bug (Program error occurs in MTFont2Bmp::_writeGlyphToBmpBuf) |
| 2016/12/05 | Ver.1.2.2 |
osdn#35775 Changed URL and mail address in user's manual osdn#36844 Added supports window size customization osdn#36845 Added supports background image customization osdn#36846 Changed version information string |
| 2017/10/09 | Ver.1.2.3 |
osdn#37561 Added increase of the size of active note osdn#37562 Changed brightness the ripple color |
| 2019/02/10 | Ver.1.2.4 |
osdn#38953 Added viewpoint selection menu osdn#38954 Fixed bug (Piano roll bar flickers in Piano Roll 2D mode) osdn#38955 Fixed bug (Time indicator becomes opaque in Piano Roll 3D mode) |
| 2019/05/12 | Ver.1.2.5 |
osdn#39227 Added quarter note length configuration osdn#39226 Changed development environment to Visual Studio 2017 osdn#39228 Changed appendix of user's manual osdn#39229 Fixed bug (Code analysis found some mistakes) |
| 2019/06/02 | Ver.1.2.6 |
osdn#39274 Added full screen mode osdn#39275 Added support for game controller |
| 2019/10/14 | Ver.1.3.0 |
osdn#39675 Added view mode "Piano Roll Ring" |
| 2019/11/09 | Ver.1.3.1 |
osdn#39733 Changed keyboard display direction on Piano Roll Ring osdn#39734 Changed processing to keep viewpoint when window size changed osdn#39735 Fixed bug (Assertion occurs in _controlfp_s when x64 debug configuration) osdn#39736 Fixed bug (Exception occurs in "How to view" dialog when x64 debug configuration) |
| 2021/05/16 | Ver.1.3.3 |
osdn#42233 Added Folder Playback feature osdn#42234 Added support for Standard MIDI File with illegal chunk size osdn#42235 Added support for RIFF-based MIDI File osdn#42236 Added sending "All Sound Off" messeage when pause/stop/skip osdn#42237 Fixed bug (The color of the ripples becomes dark in Piano Roll 3D) |
| 2021/09/13 | Ver.1.3.4 |
osdn#42859 Added setting of delay between songs |
| 2022/07/14 | Ver.1.3.6 |
osdn#45088 Added menu bar display switch osdn#45089 Added feature of saving my viewpoint osdn#45090 Added display switch of grid line and time indicator osdn#45091 Added feature of saving display switch status osdn#45092 Added 2nd light for Piano Roll 3D osdn#45093 Added MIDI system message parsing |
| 2022/10/20 | Ver.1.4.0 |
osdn#45896 Added feature of color configuration osdn#45897 Added bar ring for Piano Roll Ring osdn#45898 Added Unicode support for reading MIDI files osdn#45899 Changed key color of Piano Roll Rain osdn#45900 fixed bug. (Counter displays monitering stop when toggle full screen) osdn#45901 fixed bug. (Window size is smaller than user setting) osdn#45931 fixed bug. (MIDITrail is not reading tempo data correctly) |
| 2025/10/30 | Ver.1.4.1 |
ghwin#7 fixed bug. (Piano roll is black on AMD Radeon Graphics) ghwin#8 Added function to send note off when paused or stopped and note on when resumed ghwin#9 Changed documents due to the migration of the project website |
| 2026/08/31 | Ver.1.5.0 |
ghwin#10 Added TinySoundFont as the internal wavetable synthesizer ghwin#11 Added GeneralUser GS as the default wavetable file ghwin#12 Added Operation Panel ghwin#13 Added message incicating that files can be dropped on the startup screen ghwin#14 Added function to save the selection state of repeat and folder playback ghwin#15 Added High-DPI support (primary monitor only)High-DPI support (primary monitor only) ghwin#16 Changed the initial display page of the manual ghwin#17 Changed the timing for saving color palette settings ghwin#18 Changed the manual chapter structure ghwin#19 Changed the dialog position to the center of the main window. ghwin#20 Changed the note saturation in Piano Roll Rain ghwin#21 Fixed bug (_SetWindowSize error occurs when launching an application on Windows 7) |