[phpBB Debug] PHP Notice: in file /viewtopic.php on line 988: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone.
[phpBB Debug] PHP Notice: in file /viewtopic.php on line 988: getdate(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone.
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 4505: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3706)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 4507: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3706)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 4508: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3706)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 4509: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3706)
Sagan Technology Metro • View topic - Remote Control usability

Remote Control usability

Please post any ideas for new features in Metro or Metro SE here.

Postby Jerm » Mon Dec 01, 2003 9:29 am

Ok. This looks fairly easy to implement. I will investigate further.
:wink:
Jerm
 
Posts: 2707
Joined: Tue Feb 11, 2003 12:50 pm
Location: Massachusetts

Postby Jerm » Wed Dec 03, 2003 2:43 pm

I have the following new remote control events implemented in 6.1.0.5. However I do not think that the RMS functions are designed properly and therefore I am asking for guidance in how you guys think they should be implemented:

Output Volume (+/-) --- relative output volume event
Output Pan (+/-) -- relative output pan event

The relative events seems to work well. If the value of the event is < 64 it will decrement the knob and if it is > 64 it will increment the knob.

Arm Track (R)
Mute Track
Solo Track
Select Track

All of these events take a track number as a parameter similar to the way the existing set section event takes a section.

Now the problem is that in the current implementation they toggle whenever they see any event values and so if you are sending a stream of controllers it is hard to determine the state of the button (on/off). Perhaps they should work the way the relative events work where a <64 turns the button off and and >64 turns it on.

Please give me feedback. Thanks.
Jerm
 
Posts: 2707
Joined: Tue Feb 11, 2003 12:50 pm
Location: Massachusetts

Postby GarySome1 » Fri Dec 05, 2003 12:13 am

My opinion is always rooted in what the US-428 does...

It sends a message for button down as well as up. For example, the track select switch sends these messages (hex):
- Button Down: BF,2x,7F
- Button Up: BF,2x,00
where x is the track number. So both ways you describe would just toggle the control giving you no net effect.

Interestingly, the US-428 actually wants to use a series of commands for these actions. The first is to select the current track with the hex messages above and then with another to perform an action (note is doesn't specify which track!):
- Record Enable Button Down: BF,29,7F
- Record Enable Button Up: BF,29,00

- Solo Button Down: BF,2A,7F
- Solo Button Up: BF,2A,00

As if that wasn't interesting enough, the Mute buttons (like the track select) do include the track:
- Mute Button Down: BF,0x,7F
- Mute Button Up: BF,0x,00
where x is the track number.

Not exactly orthogonal... :oops:

So, a suggested method is to toggle a particular track's selection based on controller number AND value. Same thing with mute track. And allow arm and solo to act on the most recently selected track.

I'll try 6.1.0.5 in the next couple days but from your description I'm guessing that the net effect of toggling will be negated by the US-428 sending 2 messages per button press.

Thanks again for evolving this feature. It is really fun/useful.
Gary

==========
To get really fancy, the US-428 also has Bank Up and Bank Down switches that allow you to access tracks higher than the 8 it has physical buttons for. For example, if you press the Bank Up button and then the Select Track button for channel 2 you would expect channel 10 to be selected in Metro. Metro woulld have to keep track of a bank value that is ++ each time the Bank Up is pressed and -- each time the Bank Down is pressed and it would be awesome if that value could be multiplied by a user set constant (for the US-428 I would set it to 8 where someone with a 16 channel control surface might set it to 16).
GarySome1
 
Posts: 32
Joined: Tue Feb 11, 2003 7:12 pm

Postby GarySome1 » Sat Dec 06, 2003 1:11 am

On the US-428:
Pan as an encoder (+/-) works well except the polarity is reversed and only works for one channel as the US-428 expects it to work on the last selected track.
Suggestions: Allow polarity to be picked. Allow one more item in the value field for "Output Pan (+/-)" which is "Last Selected Track". I can see where this could be a little trickier keeping a sticky value around. The one ++ per click makes for a lot of turns when adjusting of 0 to 127 however. Maybe being able to set how many relative steps per click would make this perfect.

Select track works well (the bank shift described in the previous post would be icing on the cake allowing more selections but the first 8 is certainly cool enough).

Mute enables with the button press down and then toggles off with the button up as suspected.
Suggestions: Allow a value to be assigned for toggling this rather than treating it like (+/-). (again, the bank shift would be icing on the cake allowing more selections but the first 8 is certainly cool enough).

Solo & Record (Arm) toggles like Mute (enables with button down and disables with the button up) and like Pan wants to affect the last selected track.
Suggestions: Allow a value to be assigned for toggling this rather than treating it like (+/-). Allow one more item in the value field for "Solo Track" & "Arm Track" which is "Last Selected Track" as suggested for Mute.

THANKS! This is more fun than ever and I notice it is making me faser at recording tracks (being able to smack a locate button to "return" and track selection) and mixing them (faders). Plus my wife thinks its cool.:shock: - Gary
GarySome1
 
Posts: 32
Joined: Tue Feb 11, 2003 7:12 pm

Postby Jerm » Sat Dec 06, 2003 8:36 am

Gary,

To reverse polarity, simply insert a map controller event then set the parameters as follows

input 0-127
output 127-0

Got to keep the wife entertained! :D

What does "Allow a value to be assigned for toggling this rather than treating it like (+/-). " mean?

Jeremy
Jerm
 
Posts: 2707
Joined: Tue Feb 11, 2003 12:50 pm
Location: Massachusetts

Postby GarySome1 » Mon Dec 08, 2003 1:48 am

To reverse polarity, simply insert a map controller event then set the parameters as follows

input 0-127
output 127-0

But of course! Thanks for fixing the screw loose in the operator's chair.

What does "Allow a value to be assigned for toggling this rather than treating it like (+/-). " mean?

It is my guess at a reasonably easy way to allow buttons that give 2 messages per press (up & down) to control the Record/Mute/Solo status of tracks.
Given a controller message formatted as:
<Controller MIDI Status = 0xBF><Command = Controller Number><Value = Controller Value>
I am suggesting allowing a particular Controller Number/Controller Value pair to toggle the Record/Mute/Solo attirbutes of a track.
So using Mute Track as the example, The US-428 sends:
- Mute Button Down: BF,0x,7F (where x is the track number (0-7))
- Mute Button Up: BF,0x,00 (where x is the track number (0-7))
If Metro allowed me to not only define the Command (= Controller Number) but also the Value to toggle the Mute status of the track I could tell it use BF,00,7F to control (toggle) track 0's Mute status (BF,00,00 would be ignored).
GarySome1
 
Posts: 32
Joined: Tue Feb 11, 2003 7:12 pm

Postby Jerm » Mon Dec 08, 2003 9:31 am

O...I...C :wink:

You are saying that the track number is equal to the MIDI channel with the mute event at least. Right?
Jerm
 
Posts: 2707
Joined: Tue Feb 11, 2003 12:50 pm
Location: Massachusetts

Postby Jerm » Mon Dec 08, 2003 12:03 pm

I think the mute event solution is simply to add a range to the mute event. That way the user can specify which range of input values to pass to the mute event and which to ignore. So if you are just looking for a controller event with value 127 you could set your input range from 127 to 127. All controller events with values other than 127 (mute button up for example) would be ignored by the remote control processor.
Jerm
 
Posts: 2707
Joined: Tue Feb 11, 2003 12:50 pm
Location: Massachusetts

Postby GarySome1 » Mon Dec 08, 2003 6:37 pm

I think the mute event solution is simply to add a range to the mute event. That way the user can specify which range of input values to pass to the mute event and which to ignore. So if you are just looking for a controller event with value 127 you could set your input range from 127 to 127. All controller events with values other than 127 (mute button up for example) would be ignored by the remote control processor.

But then how do I un-mute?

You are saying that the track number is equal to the MIDI channel with the mute event at least. Right?

I don't think so because the MIDI channel number is in the first byte. In my example I guess it would have been more correct to say the message is:
<MIDI Status = Bn><Data Byte 1 = 0m><Data Byte 2 = Value>
where n = MIDI channel and m=track number (0-7).
So, the channel is in the MIDI status byte and the track number is in the low nibble of "Data Byte 1" (the controller number).

It is important to note that Solo and Record are different than Mute Track on the US-428. They expect to affect the last selected track as opposed to including the track number in the message.

http://www.ec.vanderbilt.edu/computermusic/musc216site/Control.Change.html
GarySome1
 
Posts: 32
Joined: Tue Feb 11, 2003 7:12 pm

Postby Jerm » Mon Dec 08, 2003 8:08 pm

GarySome1 wrote:But then how do I un-mute?

I see now. You want to be able to toggle the mute (or solo) buttons with the same event but you want to define the event in terms of controller and value. I guess having a toggle mute, rather than a set mute, event would work.

<MIDI Status = Bn><Data Byte 1 = 0m><Data Byte 2 = Value>
where n = MIDI channel and m=track number (0-7).
So, the channel is in the MIDI status byte and the track number is in the low nibble of "Data Byte 1" (the controller number).


Well if the upper nibble is 0 then the track is the controller number. Which is pretty weird in my opinion.

It is important to note that Solo and Record are different than Mute Track on the US-428. They expect to affect the last selected track as opposed to including the track number in the message.

Very strange.


This is uncalled for. Believe me, I am very familiar with this information.
Jerm
 
Posts: 2707
Joined: Tue Feb 11, 2003 12:50 pm
Location: Massachusetts

Postby GarySome1 » Tue Dec 09, 2003 1:31 am

This is uncalled for. Believe me, I am very familiar with this information

My apologies for offending when it certainly wasn't my goal. And I believe you. I put it there because I realized I didn't use accurate terms in my previous post and this stuff is hard to describe in posts. Jeremy, you have my utmost respect.

Well if the upper nibble is 0 then the track is the controller number. Which is pretty weird in my opinion.
...
Very strange.

Agreed. I'm just hoping not so strange that you don't want to implement these features.
GarySome1
 
Posts: 32
Joined: Tue Feb 11, 2003 7:12 pm

Postby Jerm » Tue Dec 09, 2003 2:32 am

Yes. I want to get this working in a way that is flexible enough to accomodate most mixing surfaces without making it too complicated so that first time users are overwhelmed.

I think we are close. A couple more tweaks and we should have more than enough support for what is out there now.
Jerm
 
Posts: 2707
Joined: Tue Feb 11, 2003 12:50 pm
Location: Massachusetts

Postby buserror » Tue Dec 09, 2003 11:49 am

Will there be support for MMC ? I feel like it is the obvious choice fir stuff like play/stop/record etc
buserror
 
Posts: 65
Joined: Sat Feb 15, 2003 8:11 am
Location: UK

Postby Jerm » Wed Dec 10, 2003 1:51 pm

I think there already is support for MMC.
Jerm
 
Posts: 2707
Joined: Tue Feb 11, 2003 12:50 pm
Location: Massachusetts

Postby Jerm » Wed Dec 10, 2003 1:58 pm

GarySome1 wrote:But then how do I un-mute?

Ok. I now have a new range dialog that allows you to specify input and output ranges. if no output range is defined then any event which is a button (e.g. mute, solo, arm) will work as a toggle switch.


<MIDI Status = Bn><Data Byte 1 = 0m><Data Byte 2 = Value>
where n = MIDI channel and m=track number (0-7).


To handle this you will need to insert m events. One for each track.

It is important to note that Solo and Record are different than Mute Track on the US-428. They expect to affect the last selected track as opposed to including the track number in the message.


For this I need some opinions. I can implement this in one of two ways.
1. Change the track number field to a popup which displays the current tracks and a 'use current track field' or
2. Implement two sets of mute, solo, arm events so that one is mute-track and the other 'mute' works on the current track.

The problem with one is that the popup will only show the currently existing tracks.

I have also changed the implementation of set track so that it uses the output range to select a track. This way a controller can be mapped to select a range of tracks. If you want any event to select a single track simply set the output range to the track number.
Jerm
 
Posts: 2707
Joined: Tue Feb 11, 2003 12:50 pm
Location: Massachusetts

PreviousNext

Return to Metro/LX/SE Feature Request

Who is online

Users browsing this forum: No registered users and 5 guests

cron