VoiceLive 2 Editor

Playing around with settings for my Voicelive 2, I’m reminded how annoying it is to bend down and adjust each and every setting. I ran across a thread on VoiceCouncil which discusses an editor for VoiceLive 2. An editor is simply a program that runs on your computer and connects to your VoiceLive 2 pedal […] Read On…

VoiceLive 2 Editor

Playing around with settings for my Voicelive 2, I'm reminded how annoying it is to bend down and adjust each and every setting. I ran across a thread on VoiceCouncil which discusses an editor for VoiceLive 2. An editor is simply a program that runs on your computer and connects to your VoiceLive 2 pedal via USB.  You then use the editor to adjust the settings from your laptop, rather than through the controls on the pedal itself. There are two options that I know of currently:
  1. Ginsonic's VoiceLive 2 editor
  2. VoiceLiveEditor.com's VoiceLive 2 editor

Ginsonic's VoiceLive 2 Editor

In the post referenced above, a VoiceLive 2 user named Ginsonic chimed in and linked his personal VoiceLive 2 editor on the thread.  I have used the 1.02 version for a while now and really enjoy it. Sadly, the box.com links that Ginsonic referenced in the thread no longer work.  Until I find a replacement, here is the version that I have: I'd love it if Ginsonic came back and let me know where he has it stored now. A few of the features that I'd like to play with aren't immediately obvious.  Harmony settings, for example, can be adjusted through the editor, but I'm at a loss to understand how to set the key.

VoiceLiveEditor.com's Editor

VoiceLiveEditor.com has a variety of editor's available.  The two that I was interested in are: These editors are Windows only, unfortunately.  Since I run on a Mac, I ran the demo version under Wine and confirmed that it ran.  I have not yet confirmed that running it via Wine allows the editor to connects to a VoiceLive 2.  I'll test that out in the coming days.

Any Others?

These are the only two that I know of at the moment.  If anyone else knows of another, please share.  It's far, far nicer to adjust settings standing up than bending over.

sending selenium logs to logstash

I've been playing around with the sending various logfiles to logstash and then on to elasticsearch to see whether I can generate any useful metrics from all the bits of testing that I oversee -- selenium infrastructure being one of those bits.  Rather than output to a logfile and have a logstash agent ship changes to a logfile, I wanted to try the log4j socketappender approach.  I saw a few examples out on the web, but nothing that worked end-to-end, so here goes: First, start up your logstash server with something like this as an input:
input {
    log4j {
      format => "plain"                                                        
      port => 9392                   
      type => "log4j"                
    }
}
Now you want to send selenium logs there. Normally, you'd just start selenium something like this:
java -jar seljars/selenium-server-standalone-2.29.0.jar -role hub
But I wanted to use slf4j so that I could control logging. Plus, I wanted to do so without opening up the selenium jar. To use the -cp option or any other method of setting the classpath I can't use the -jar option. I end up with this:
java  -Djava.util.logging.config.file=logging.properties -cp \
selenium-server-standalone-2.29.0.jar\
:jul-to-slf4j-1.7.2.jar\
:slf4j-api-1.7.2.jar\
:log4j-1.2.17.jar\
:slf4j-log4j12-1.7.2.jar\
:. org.openqa.grid.selenium.GridLauncher -role hub
It's not the prettiest looking thing, but you can pretty up the classpath bit if you want. This example pretends all these jars are in the same directory just to try and keep things looking a little less cluttered. Note that I have :. in the classpath so that it finds my log4j.properties file. Which brings me to the final two pieces of configuration: log4j.properties:
# Root logger option
log4j.rootLogger=INFO, stdout, logstash
 
# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

# logstash socketappender
log4j.appender.logstash=org.apache.log4j.net.SocketAppender
log4j.appender.logstash.Port=9392
log4j.appender.logstash.RemoteHost=localhost
log4j.appender.logstash.ReconnectionDelay=10000
logging.properties
handlers= org.slf4j.bridge.SLF4JBridgeHandler
.level= ALL
Clearly, this is just all happening on the same host within my example, but just change the hosts and ports to suit your situation. You don't need to direct messages to stdout in the log4j.properties file, either, I just left that in so that you could see things happening when you start up selenium and then verify that the same stuff was showing up over on the logstash side of things. To get the jars I used: selenium slf4j log4j

Registering Android on a Selenium Grid

I noticed some misinformation floating around the web that you can't register Android nodes on a Selenium Grid.  To set the record straight: you can do this.  You probably just need a couple things. 1. port forward external requests to the local port that adb has set up (or patch adb to accept connections external locations) 2. send a chunk of javascript to the hub registering the node on the hub The first part I can describe if people want me to, but it's already an FAQ on the AndroidDriver wiki. I'll only point out the alternative, which is to patch adb to accept all incoming connection like so (thanks to rxwen for that -- the original post is here if you want more). The second part is less communicated but not too complicated, either.  The hub just needs to be told that a node is ready for action and you do that by sending it a piece of javascript.  You can generate and send that javascript yourself, or use one of these methods:
  1. 'flynnid' python script, by Dave Hunt
  2. my bash script
My bash script isn't very fancy: I wrote it in a situation where I didn't want to install python just to send a tiny piece of javascript to the hub.  FlynnID has a couple more bells and whistles that you might prefer instead. Like Dave mentions on his blog, the next thing to do would be to get the AndroidDriver apk itself to send this little piece of javascript.  In the meantime, hope this helps dispel the notion that Android can't play on the grid.

VoiceLive 2 with Sax

The VoiceLive 2 from TC Helicon is a pretty badass little box of toys.  I bought it to try and create some harmony parts when I'm the only saxophone player on a gig, but I'm starting to explore some of its other uses now too. Read On…

alexscammon.com

Copyright information