• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

READMEH A D02-Jul-20214.9 KiB9154

TODOH A D02-Jul-2021188 76

bling.ccH A D02-Jul-20212.6 KiB11661

button_events.ccH A D02-Jul-20217 KiB381296

button_yn.ccH A D02-Jul-2021877 220

buttons.ccH A D02-Jul-20214.1 KiB11468

general.ccH A D02-Jul-20217.6 KiB334243

init.ccH A D02-Jul-20217.7 KiB296199

interface.ccH A D02-Jul-20211.8 KiB6835

io.ccH A D02-Jul-20212.6 KiB9661

io_kernel.ccH A D02-Jul-20213.5 KiB14599

io_midi.ccH A D02-Jul-2021974 270

io_usb.ccH A D02-Jul-20215 KiB233170

lcd.ccH A D02-Jul-20213.3 KiB12175

lights.ccH A D02-Jul-20212.2 KiB9658

meter.ccH A D02-Jul-2021871 220

mode.ccH A D02-Jul-20212.4 KiB10867

mode_loop.ccH A D02-Jul-2021891 220

mode_tuner.ccH A D02-Jul-2021858 220

panner.ccH A D02-Jul-2021984 3510

screen.ccH A D02-Jul-20212.6 KiB9661

show.ccH A D02-Jul-20219.8 KiB400236

slider_gain.hH A D02-Jul-20211.2 KiB4115

state.ccH A D02-Jul-20213.4 KiB14797

tranzport_base.hH A D02-Jul-20212.6 KiB7826

tranzport_common.hH A D02-Jul-20211.3 KiB4518

tranzport_control_protocol.hH A D02-Jul-202110.1 KiB381291

view_automation.ccH A D02-Jul-2021810 220

view_bigmeter.ccH A D02-Jul-2021810 220

view_bling.ccH A D02-Jul-2021810 220

view_bus.ccH A D02-Jul-2021810 220

view_config.ccH A D02-Jul-2021810 220

view_layer.ccH A D02-Jul-2021941 220

view_loop.ccH A D02-Jul-2021810 220

view_manymeter.ccH A D02-Jul-2021810 220

view_marker.ccH A D02-Jul-2021810 220

view_master.ccH A D02-Jul-2021810 220

view_plugins.ccH A D02-Jul-2021810 220

view_std.ccH A D02-Jul-2021810 220

view_tempo.ccH A D02-Jul-2021810 220

view_tuner.ccH A D02-Jul-2021810 220

wheel.ccH A D02-Jul-20214.1 KiB204141

wheel_modes.ccH A D02-Jul-20212.7 KiB13994

wscriptH A D02-Jul-20211.1 KiB4739

README

1
2I'm putting this here because I don't really have a place to put it, unless I create a web page and have a place to keep the code.
3
4While doing some exaustive testing of my latest code (read - playing a ton of music) I have done some thinking about the ui, and decided that under apparent simplicity should lie complexity.
5
6The "flash" screen idea I am going to drop, and replace it with the idea of a notify area being declared on each screen.
7
8When the unit is idle, these messages will appear in that area statically. When the transport is running, these messages will still appear in that space, which is usually where the meter is. It's actually possible to rapidly flash the area between the competing writers and get a nifty faded effect. (I came across this idea accidentally when I had a pointer overrun)
9
10Also certain things will update on top of each other, whatever was updated
11last will stay on the screen. This is Pan/Gain primarily.
12
13I need a way to get messages back into the tranzport. Example - I hit Undo, what was undone? Redo, same problem.
14
15I've already found many uses for being able to control more than 1 track at a time, so I think that although I'm *usually* controlling one track at a time, being able to quickly access all tracks would be good.
16
17Example - want to have meters for all tracks running and be able to control the
18db/pan settings of the track I'm on....
19
20What I am going to go with is multifold - but first my design goal: I want to do everything required for a solo musician wielding an instrument to NOT have to touch a keyboard or look at a big screen. When you are wrapped behind a bass, it's difficult to cope with that - but the tranzport is a great alternative.
21
22Most screens will have *4* items on them.
23
24There will be "display views" - which are more informational and bling oriented.
25
26There will be "Track based views"- which basically do track specific things
27
28There will be "interactive views",which basically allow for more input than output. They will do something to highlight the current selection.
29Scroll wheel will select between values for a field. Track Next/Prev will move between fields. I would like to have a "No/Yes" option (hit record for yes? Stop for no?) but I'm still a little vague on that.
30
31Things to do:
32
33A) Hitting "Shift->Spacebar" will switch "views". There are ultimately going to be dozens of views. At present, there are only the "Normal" and "Big Meter" views.
34
35Each view will change somewhat based on the state of the transport. Holding down shift for a second will switch to the "underlying display"....
36
37Here's how the "normal" view looks today in my tree:
38
39VIEW: NORMAL
40
41Play Mode: Stopped
42[Trackname[16]] [gain/pan[4]]
43[Modes[9]] long smpte/bar counter]
44
45Play Mode: Playing > 1.0 speed
46[Trackname[16]] [gain/pan[4]]
47[meter[16]] short smpte/bar counter]
48
49Play Mode: Playing < 1.0
50[Trackname[16]] [gain/pan[4]]
51[meter[9]] long smpte/bar counter]
52
53Play Mode: Recording
54[Trackname[16]] [gain/pan[4]]
55[meter[16]] short smpte/bar counter]
56
57Other views (in order of development priority)
58
59Marker Mode: Edit markers, setup loops and punch in points.
60Config Mode: Load/Save settings, Load/Save project. Set wheel SnapTo
61Loop Mode: Show track, raise layers to top for playback, editing, deletion, loop on and off, etc
62
63It's possible that config mode will have a "MORE" field, or ways to move around the configuration (ffw/Play?)
64
65(the first two are the two modes I most need personally. If you have a suggestion...)
66
67Mastering Mode - display master and current track with meters and panner/db
68Automation Mode - I really don't think I have the pixels for this
69
70(I've already abstracted out the code to do most of these, but it's bling, I'm not going to bother much with it soon)
71
72Quad Meter Mode
73Inverted Meter mode (draws meters backwards)
74Quad Inverted Meter mode (bling, but my car stereo has it, and it's cool)
7510 8 bar meter mode
765 8 bar meter mode
77
78I haven't written the panner yet, doing the stereo meter killed me.
79
80From a development perspective I'm going to keep revising the code to make it more stable and merely tie the new mode modes to the "bling mode"s until they are ready for prime time. I should be able to put out releases once a week for a while.
81
82A big help would be moving these items into a higher level of abstraction (revising the baseUI class).
83
84In particular, I'd really like "slave" mode. Snapto increment is really important....
85
86Here's an example of something that should be fairly easy to export to the Base::UI subclasses - the current state of the main keyboard's shift key.
87
88That way, when shift is held down for a few seconds on the regular keyboard, I can see what's underneath the current tranzport display mode (I do like big meters) (Also, it's somewhat easier to hit shift on the main keyboard and play on the tranzport or the shuttle wheel, if that's what you are doing).
89
90Should be fairly easy to tap into the gdk event for this but the "right way" to propagate this event into the class is beyond me.
91