Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can you consider a way to pass in midi device string to your Zoom zt2 please? #31

Closed
shooking opened this issue Aug 7, 2021 · 7 comments

Comments

@shooking
Copy link

shooking commented Aug 7, 2021

Hi Mungewell

How to allow optional identifier string please for midi device (ie can you add an option please)

Many thanks

BACKGROUND

So I am geeking out here. I got my GCE-3 ... £60.
Short version. If I use GuitarLab to make it emulate an B1XFour then ALL of the B1XFour capabilities are unleashed. No S**t Sherlock - it's am emulator?

Well Zoom tell us that only the last store patch is playable.

BUT a small modification to your Zoom ZT2 shows it is a LOT more than that!

pi@raspberrypi:~ $ !a
amidi -l
Dir Device    Name
IO  hw:3,0,0  ZOOM GCE-3 MIDI 1

So on my pi above that's how this thing shows up.

This is how it identifies itself

pi@raspberrypi:~/Software/ZoomPedal $ ./Identify.sh 

15 bytes read
00000000  f0 7e 00 06 02 52 6e 00  10 00 31 2e 32 30 f7     |.~...Rn...1.20.|
0000000f

AFAIK this is a B1XFour with 00 10 00.

Anyhow, I modified my (modified) version of your Zoom ZT2.

if sys.platform == 'win32':
    mido.set_backend('mido.backends.rtmidi_python')
    midiname = b"ZOOM G"
else:
    midiname = "ZOOM GCE-3:ZOOM GCE-3 MIDI"
    #midiname = "ZOOM G"

Then run it ... and I get the complete state of the B1XFour out!
I then verify I can change the patch.
I can change the FX1 P3 values etc ... bloody awesome mate.

So now remote control of the £60 hardware is possible - sure it had to be with the Guitar Lab .. but I mean off an embedded processor or whatever.

How to allow optional identifier string
fromgce.zip

@mungewell
Copy link
Owner

Of course I'd like to support the GCE as best we can, but your comment confused me a little. At present the code matches (and connects) to the device if just the first characters match - this should also match the GCE's string.

Perhaps the GCE is presenting 2 different interfaces...?

I'm away from my pedals for a couple of weeks, but can put this on the queue to fix. Thanks.

@shooking
Copy link
Author

shooking commented Aug 8, 2021 via email

@mungewell
Copy link
Owner

But your code is hardwired to find a B1/G1(X). So the request was to allow
a string to be provided to match the Zoom device

Not hardwired, still confused... should detect and connect to the GCE. I can/will add option to specify a full/exact string to match.

$ python3
Python 3.6.9 (default, Jan 26 2021, 15:33:00) 
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> a = "ZOOM GCE-3:ZOOM GCE-3 MIDI"
>>> b = "ZOOM G"
>>> print(a[:len(b)])
ZOOM G
>>> if (a[:len(b)] == b):
...    print("yes") 
... 
yes
>>>

As you say the SysEx control might be quite different.

I'd certainly be interested if there is a way to remotely control the expression pedal.

@shooking
Copy link
Author

shooking commented Aug 8, 2021 via email

@mungewell
Copy link
Owner

mungewell commented Aug 9, 2021

Yes that would cause the issue, app will attach to the first pedal it finds.

You can try this patch, but I have not tested it against an actual pedal(s). Use the option -M x or --midiskip=x to skip over 'x' pedals and connect to the next...
midiskip.patch.txt

@shooking
Copy link
Author

shooking commented Aug 9, 2021

Hmmh I found something quite exciting (I think it is) - not sure if there is any way to communicate directly without these traceable tools in tow?

Anyhow
1] I know now Zoom call their ports
[
'ZOOM G Series',
'GCE-3',
'ZOOM G11',
'ZOOM H8',
'ZOOM G6'
]
(hint if we can meet privately I can show you how I know)

Mixing topics (as I do) I completely understand why you call the IDs like "0x3000130" - sorry I simply didnt understand where I am sure you are getting that info from now!! Let's just say I would love to compare notes how you found it - cos I am surprised how I did!

It seems Zoom call this a "type" ... so I am happy to cal the botton 4 hex as the GID and the top as the FXID.

I feel some exciting GCE-3 related times coming along.
I see the looper and rhythm isnt supported.

@shooking
Copy link
Author

thanks for sorting this out. Closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants