SYNTHINGS is a digital synthesizer development platform that I've been building.

Tune editor (part 1)

jason | 11 January, 2011 23:40

Today was the start of the tune editor (aka pattern arranger). This will be unlike a Tracker, and more like a sequencer. Patterns will be placed on a grid, and can be moved around fairly arbitrarily.

Since this the main interface, there's a bunch of menus at the top to do the main functions:

Tune editor part 1Tune editor part 1Tune editor part 1

However, the real editing will be in the middle of the screen (the bottom will be for giving information about the tune, such as the memory utilisation and the tune's meta-information such as name, author). I've put in a fake pattern for the moment, which starts at position 17 (it's not a bar number - it's an event number), and runs for 64 events - so ends on event 81:

Tune editor part 1

Unfortunately, scrolling back doesn't quite work yet:

Tune editor part 1

I'm using the BLT to do scrolling (and also the background drawing - I'm really pleased I implemented it now!), and it may not be erasing the area correctly. That'll be something for tomorrow to do.

I have now reached the 100K limit - in fact, it went quite over it, but mainly because I needed to enable the large_code option because it's got too big:

Program Memory  [Origin = 0x200, Length = 0x2aa00]

section                    address   length (PC units)   length (bytes) (dec)
-------                    -------   -----------------   --------------------
.text                        0x200              0x136e          0x1d25  (7461)
.const                      0x156e              0x2708          0x3a8c  (14988)
.text                       0x3c76              0xc2c4         0x12426  (74790)
.dinit                      0xff3a               0x248           0x36c  (876)
.text                      0x10182               0xdd8          0x14c4  (5316)
.isr                       0x10f5a                 0x2             0x3  (3)

                     Total program memory used (bytes):        0x1940a  (103434) 39%

Data Memory  [Origin = 0x800, Length = 0x7800]

section                    address      alignment gaps    total length  (dec)
-------                    -------      --------------    -------------------
.nbss                        0x800                   0           0x9ea  (2538)
.ndata                      0x11ea                   0             0x2  (2)
_03774ee04d2cd01c           0x11ec                   0           0x200  (512)
_037770704d2cd01c           0x13ec                   0           0x200  (512)
.nbss                       0x15ec                   0           0x314  (788)
.ndata                      0x1900                   0            0x86  (134)
.nbss                       0x1986                   0            0x9e  (158)
.ndata                      0x1a24                   0            0x1e  (30)
.nbss                       0x1a42                   0            0x18  (24)
.ndata                      0x1a5a                   0            0x12  (18)
.nbss                       0x1a6c                   0            0x1c  (28)
.ndata                      0x1a88                   0            0x16  (22)
.nbss                       0x1a9e                   0            0x1a  (26)
.ndata                      0x1ab8                   0             0x2  (2)
.nbss                       0x1aba                   0             0x4  (4)
.ndata                      0x1abe                   0             0x4  (4)
.nbss                       0x1ac2                   0             0x2  (2)
.ndata                      0x1ac4                   0             0x2  (2)
.nbss                       0x1ac6                   0             0x2  (2)
.data                       0x1ac8                   0           0x106  (262)
.dconst                     0x1bce                   0             0x8  (8)
.data                       0x1bd6                   0             0xa  (10)
.bss                        0x1be0                   0             0x4  (4)
.data                       0x1be4                   0             0x2  (2)
.heap                       0x1be6                   0          0x2000  (8192)

                        Total data memory used (bytes):         0x33e6  (13286) 43%

Dynamic Memory Usage

region                     address                      maximum length  (dec)
------                     -------                      ---------------------
heap                        0x1be6                              0x2000  (8192)
stack                       0x3be6                              0x441a  (17434)

                        Maximum dynamic memory (bytes):         0x641a  (25626)
Powered by LifeType - Design by BalearWeb and Jason Tribbeck
Copyright © 2010 | | Jason Tribbeck
All trademarks are the property of their respective owners