posted by kid-sputnik (kid-sputnik)
on 12.08.2007 01:59
attachment: MonomeSerial_0116_Setup.zip (369,5 KB)
hello!  attached is the update for Monome Serial 0.1.1.5, which should
fix any issues with the application not starting up after close.
actually, i reverted back to the 0.1.0.4 OSC method, which works fine,
but is somewhat less efficient (i can explain if anyone is interested,
just ask).

thanks, hope this works better!  expect 0.1.5 soon!
posted by longjohns (longjohns)
on 03.09.2007 18:26
I'm coming to find that running monomeserial in conjunction with 
_40h_midi is not all that stable.

monomeserial seems to be much better on it's own

so wondering what could be possible in terms of having monomeserial 
handle OSC for one monome and MIDI for another (and another and 
another??)
posted by tehn (tehn)
on 03.09.2007 19:06
what specifically is crashing?

max/msp is handling all of the midi, so it seems bizarre that it'd be 
fine with the OSC but choking on midi.

just general lag?
posted by longjohns (longjohns)
on 04.09.2007 00:20
one thing which I think I have identified as a problem is the order of 
launching things

going monomeserial -> max -> Ableton is a problem, because Live doesn't 
like the fact that max has asked for my soundcard, even though I switch 
off it.

so monomeserial -> Ableton -> max works better there.

I must admit I don't understand the preset function in _40h_midi, are 
they supposed to be saved as separate .mxb (?) files?  Is there any way 
to have it load automatically into a preset?  or to disable ports from 
appearing in the dropdowns?

Stability:  I just often was losing function in _40h_midi, which could 
be solved by shutting down Ableton and reloading it.  So it's not 
necessarily a problem with either of you guys software, but a problem 
nonetheless for me to be using it

A solution with less total pieces of software running is more desirable 
from this perspective I think.

Which is what makes incorporating some of these fancier functions into 
one app attractive.

the _40h_midi functionality is a plus (adc calibration, note assignment)
posted by longjohns (longjohns)
on 04.09.2007 00:25
I should say: the whole reason I was putting in the effort to get 
_40h_midi working, was so that I could use one device as MIDI and the 
other on OSC.

Despite these problems, I was able to get MIDI into Ableton.

However I was never able to get MonoChrome talking to the monome and 
Ableton.  I had that working before, with just one box - I still don't 
know why I can't get it going now.  Second monome set to /40h, first set 
to /midi
posted by longjohns (longjohns)
on 11.09.2007 05:02
I'm having some trouble with what seems like MonomeSerial dropping the 
connection to one of two boxes.

The box is still listed in the panel, but messages stop arriving at the 
apps.

Any ideas?
posted by kid-sputnik (kid-sputnik)
on 11.09.2007 23:25
this is a wierd bug, longjohns.  what happens if you un/re-plug in the 
device?
posted by longjohns (longjohns)
on 12.09.2007 01:40
in this state,

When I unplug the offending box, MonomeSerial still shows it as a 
device.

When I re-plug it, the startup pattern of LED's appears and stays lit.

Then, still no activity from the box.

--

Then, tried to close MonomeSerial with Ableton still open.  Resulted in 
a reboot.

:(
posted by longjohns (longjohns)
on 12.09.2007 01:45
If I may...

Since I really like this direction of development (thanks!!!!)

i.e an app outside of max to handle the low-level serial business....


What would be the chance of having ADC calibration as part of 
MonomeSerial?

I'm finding that hooking up pots really requires throwing some resisance 
onto the circuit, to clean the signal.

But that results in a much more limited range of values, and so needs 
the calibration function to generate MIDI values 0-127
posted by kid-sputnik (kid-sputnik)
on 12.09.2007 02:43
just so you know, im working pretty hard on the next monome serial, so 
this bug should be fixed.  until then, perhaps 0.1.0.4 (from the wiki) 
is a better bet, if you can handle the lack of plug-and-play.  this new 
version will be much better tested.

adc calibration, that is really at brian's discretion, pretty much 
everything that goes into monome serial XP now is his say-so in the end 
(we want the same product idea for both Win and OSX).  i think it is a 
good idea, and i dont see it being a problem, but be aware that support 
for new devices is the top priority for monome serial right now (and, 
for my Windows code, also making sure new serialport code is 
rock-stable).
posted by longjohns (longjohns)
on 12.09.2007 02:51
Gotcha.

Again, all your efforts are greatly appreciated.  I will indeed try 
older versions and see if it helps.  Hot-plugging is not key for me, 
although I think if working properly does add to stability, right?  I 
mean if for whatever reason something temporarily disconnects, then it's 
able to recover
posted by tehn (tehn)
on 12.09.2007 13:17
i'll think about the calibration issue. maybe some super minimal gui 
thing would work. it's problematic because once you add one that, then 
it'd make sense to add some sort of visual readout of the adc, then why 
not add auto-calibrate, etc....

also remember _40h_midi.mxb has auto-calibration etc, but then you have 
to also be running max/msp which is annoying.
posted by kid-sputnik (kid-sputnik)
on 12.09.2007 16:56
longjohns, you are right, that hotswapping adds stability, in that it 
just makes things safer.  also, when the new devices come out, there 
will be alot more users with multiple devices i think, so it will be 
more of an important issue then i think.
posted by longjohns (longjohns)
on 13.09.2007 14:52
thanks guys

re: fanciness of calibration:  I think nothing extensive or flashy is 
needed, but the ability to do it is needed.  Otherwise pots etc are 
largely useless in any app which you don't write yourself.

I run into problems running max and Ableton together, so I don't favor 
that as a solution

btw, is there a way to permanently disable sound and MIDI ports in max? 
that could help me
posted by kid-sputnik (kid-sputnik)
on 13.09.2007 16:43
permenatly, i dont know, but if you disable your soundcard and midi, i 
dont see why it would come back on...  im usually ok opening max after 
some audio app so long as the DSP window shows no audio driver selected.

remember in max that everything is done in max, the property windows 
(like dsp) are max patches, so almost anything IS possible if you know 
what you are doing,.
posted by longjohns (longjohns)
on 15.09.2007 01:28
another idea re: calibration

I'd even be fine using _40h_midi's calibrator to get the values.

So just an entry box in monome serial to type in the high and low adc 
values would be enough

With value boxes you could even do it by trial and error if it came down 
to it
posted by tehn (tehn)
on 15.09.2007 02:52
how about simple "set high" and "set low" buttons?

UI cleanup is in order.
posted by longjohns (longjohns)
on 15.09.2007 11:43
sure.  It could be anything really.  You guys know what would be easiest 
to implement.

I'd be very happy with any method which didn't involve max runtime.

:)
posted by longjohns (longjohns)
on 15.09.2007 11:47
sorry that I have apparently turned this thread into my personal request 
and support line
posted by kid-sputnik (kid-sputnik)
on 15.09.2007 16:42
its ok man.  as i said, im working on the next version, and the 0.1.1.6 
version was not very major, as it lacked external testing and even an 
entry in the wiki.  im working hard on the new version!

the min/max adc value thing isnt too bad an idea, but wouldnt this be 
easy to also impliment in the app it is being used with?  btw, what apps 
are you using the 40h with?  your calibration idea must involve more 
than this, no?

also, what do you mean by calibration exactly?  i havent checked out the 
max base patches, since i dont have an adc to test with, and its 
probaqbly not that useful just sending the random stream of values of an 
unconnected adc.  i DO have an encoder to play with, but afaik this 
doesnt need calibration, for me at least it just works.
posted by longjohns (longjohns)
on 15.09.2007 17:42
I'm mostly concerned with ableton, so there is adjustment of the values 
of the ableton controls, but not of the incoming MIDI data

The problem is that just hooking up a pot does not give values of 0..1

And by the time I add a resistor to the circuit to help stabilize the 
output (which is inherently very jumpy hence unusable) - the range of 
values out of the pot are more like .75 .. .95 (? varies - depending on 
resistor and other factors I'm sure)

So there has to be some facility in MonomeSerial to tell it to output 
0-127 over this limited range of adc values.

There is functionality in Ableton with the last two bugfixes to do this 
for buttons.  But not for sliders.  So the only thing I can do on that 
end is ask them for improvements.

So far I seem to have a better chance asking you on this end, you're 
much more responsive and friendly :)

I think it works out better to adjust on the input side, because the 
resolution should be better from scaling three decimal places (raw adc 
data) instead of scaling a shortened range of whole numbers (MIDI data)
posted by longjohns (longjohns)
on 15.09.2007 17:46
while i'm on a roll here - ;)

I often unintentionally shut down MonomeSerial by clicking the X on the 
window.

In lots of other applications I'm used to the X closing the window, but 
leaving the process running.  To shut down requires choosing "exit" / 
'quit" from the menu.

Just a suggestion,
posted by kid-sputnik (kid-sputnik)
on 15.09.2007 18:29
hmm, on OSX the behavior you described is standard.  but, what windows 
apps work like this?  none of the DAW/music apps work like this afaik. 
the only i can think of are driver-type apps, like the virtual mixer for 
my m-audio 410 interface, or a few other apps, where they minimize to 
the task tray when clicked.  i guess monome serial does fall into this 
category of driver-router-app, so it might not be a bad idea.  i might 
have even done this in an older version of serialXP or serialiodotnet, 
and it would take a few minutes only to program in.  the big reason i 
dont do this now is because it confuses me!  whenever i use my wife's 
mac, i never can come to grips with the idea of the X not shutting down 
the app.
posted by longjohns (longjohns)
on 16.09.2007 04:15
no big deal - just throwing that out there.

yeah, all mac apps are like that, right

windows, uh... winfax, trillian I think...  maybe foldershare, 
anti-virus  - like you say, mostly programs which are behind the scenes

I find myself thinking of that window (monomeserial) as more of a 
property window rather than as a program.

Therefore I say to myself "I'm done looking at this, let's close it" and 
end up quitting the program.

Of course this is just my own stupidity ;)  but I figured it doesn't 
hurt to discuss it if you're writing a new one.
posted by kid-sputnik (kid-sputnik)
on 16.09.2007 12:30
this kind of talk is very appreciated, trust me.

you are right, it is kind of a background service type thing.

also, i must re-impliment clear being called at startup, i seem to have 
forgot that for like every version!
posted by longjohns (longjohns)
on 16.09.2007 14:42
"clear" = clear all LED's?

That would be great.

Actually I've been wondering about a button or menu command available 
through MonomeSerial, which you could use anytime...
posted by kid-sputnik (kid-sputnik)
on 16.09.2007 16:12
yah, clear is an osc command to clear all leds on the selected prefix. 
i prefer this to be called for all devices at startup, but i forgot to 
add it it appears.
posted by longjohns (longjohns)
on 22.09.2007 18:31
Since you seem so friendly to persuasion about your development...  ;)

I'd like to bump this in order to beg for a MIDI assignment screen,

so that it would be possible to configure what MIDI notes each button 
sends, without using max and _40h_MIDI

This would be very helpful for use with Ableton, in which devices are 
expecting certain MIDI notes.

Thanks again for all your efforts, I'm looking forward to seeing the new 
version it sounds like you're cooking up to meet the new monomes...
posted by kid-sputnik (kid-sputnik)
on 22.09.2007 18:56
yah, i personally like that idea too, but as i said before it really 
depends on what brian wants, as i dont want my version to differ in 
functionality from the OSX version.

even so, this type of addition wouldnt probably happen until after the 
256 is out, and the software is working with it and the other new 
devices.
posted by longjohns (longjohns)
on 23.09.2007 15:44
a question -

I'm assuming that somewhere in your code are just sitting some MIDI note 
numbers, which get used for the pads.

so if I had the source and edited it for the #'s and recompiled it, 
would I be able to customize the note #'s??

I'm kind of talking out my ass here and it might be too much to ask.

slap me back into reality if need be.

:)
posted by kid-sputnik (kid-sputnik)
on 23.09.2007 17:16
no, that should be fine.  the only thing is that it is not really a list 
of numbers, but an equation (row + (col*8).  by all means feel free to 
hack the source code.  it should compile pretty easily, even if you dont 
have Visual Studio - just Google C# Express 2005.  Its a totally free 
version of Visual Studio for making Windows-based C# apps and DLLs. 
Really a very cool app, and the code should compile right out of the 
box, so to speak.

speaking of Express VS editions, if you are interested in these, also 
consider downloading C++ Express, it is aimed mainly at making C++ .NET 
windows apps or C++ Std Library or CLR console apps, but it gives some 
easy steps towards making Windows apps as well by downloading the Win32 
Platform SDK and setting up some Include settings.

this is assuming you do not own any programming IDEs already.  my code 
should also compile on Borland's C# compiler, id imagine, and also thru 
the CommandLine csc compiler (which is what VisualStudio and Express 
use, and probably Borland's IDE as well).
posted by longjohns (longjohns)
on 23.09.2007 18:30
cool

is the source included in the 0.1.1.6 download?

I see the 1.1.4 in the resources section
posted by kid-sputnik (kid-sputnik)
on 24.09.2007 04:31
attachment: MonomeSerialXP.rar (626,2 KB)
oooh, ouch.

luckily i have it saved (yay), my new source is in no shape for hacking,
its only partially functional (i broke lots of stuff doing upgrades).

i removed some of the binary files, because it was too large.  nothing 
that you need to compile, but i removed everything that is a result of 
compiling.  as i said, though, loading it into VS2005 or C# Express 
should be fine (no VS2003 though, sorry).

if you have any questions, e-mail me if youd like.  otherwise feel free
to ask here, in case anyone else is interested in this kind of
geek-talk.  =)

EDIT - also, i removed the installer scripts, you dont need those 
though.  all they do is make it so that the uninstaller removes the 2 
tiny files used for saving errors and state saving, you can remove them 
yourself, they are in applicationdata/roaming folder (in a monome serial 
folder).
posted by longjohns (longjohns)
on 24.09.2007 04:50
Thanks

This is somewhat over my head - how much over... we'll see... ;)

I figure I can only beg other people to do things for so long,

better figure out some things on my own time.

But if I can't make any headway I'll hit you up for pointers.

:)
posted by tehn (tehn)
on 24.09.2007 13:34
continual begging reminds us of what people want implemented, so it's a 
good thing, don't worry.

like i said before, a more modular router is definitely in the works, 
but monomeserial serves a sort of base-purpose.
posted by longjohns (longjohns)
on 24.09.2007 14:22
I'm not sure I follow you.

If MonomeSerial is going to keep it's MIDI function, and output a 
certain set of notes,

do you envision a second application then translating them to different 
notes?

Or just no built-in MIDI in MonomeSerial, and some other dedicated app 
to translate the osc to MIDI with customization (but not in max)

I'd most like to see all the function in one app.

I suppose it'd be a whole different issue if for instance Ableton 
supported OSC