arteme / pod-ui

A modern GTK+ UI for controlling Line6 POD family of devices via MIDI. Supported devices: POD 1.0, POD 2.0, POD Pro, PocketPOD, PODxt, PODxt Pro, PODxt Live, Bass PODxt, Bass PODxt Pro, Bass PODxt Live
https://arteme.github.io/pod-ui/
GNU General Public License v3.0
31 stars 2 forks source link

Pod 1.0 #37

Closed g40 closed 1 year ago

g40 commented 1 year ago

Hi, just discovered this project. Looks nice. I've got a variety of Pod's including the original 1.0. What would you like to do to try and support this?

arteme commented 1 year ago

Wow, the original POD! Haven't seen many of those around. I'd love to support it!

Looking at the differences in https://l6c-acdn2.line6.net/data/6/0a060b316ac34f0593b1aaa8e/application/pdf/POD%202.0%20New%20Features.pdf and http://www.midimanuals.com/manuals/line_6/pod/sysex/pod_sysex_english.pdf it should be quite easy by simply cloning POD2_CONFIG and changing out family/member and the amp_models list.

If you'd like to give it a try, please be my guest. Otherwise, I can make a new version to test with.

g40 commented 1 year ago

Hi @arteme,

I am not a rust guy, C++ and python :). So I think I can see what needs to be cloned, https://github.com/arteme/pod-ui/blob/8071b26bcc910b3266552df4d2b64030b5a47b40/mod-pod2/src/config.rs#LL107C1-L107C1 but am not sure how to wire it up. It might be more efficient at this stage if you set up the main structure and I modify (or more likely remove bits from) the new Pod 1.0 config?

Many thanks

P.S. My copy of the 1.0 manual was obtained here: http://synthmanuals.com/manuals/line_6/pod/user_manual/pod_user_manual_english.pdf

g40 commented 1 year ago

?

arteme commented 1 year ago

Dear @g40,

I'm sorry, I've been very busy lately dealing with a hard drive crash and trying to get any data at all recovered, getting a new machine set up and catching up with work wiped out in the crash.

I've added a POD 1.0 config. I've gone through POD 1.0 and POD 2.0 handbooks and I can't really find any more changes. You can take the latest master, commit 82e4994297d928d5ec3aeecba4d598b3fc4598e9 for a spin if you have a rust dev env at hand. Otherwise, let me know, what platfrom you're on, I can create a binary package to try out.

arteme commented 1 year ago

Fun fact, Line6 Edit does not support POD 1.0. SoundDiver 3 does, though, and it talks to pod-ui after some more fixes. If the POD is as finicky with the timings, master is your friend.

g40 commented 1 year ago

Hello Artem,

So: many thanks for your help here under difficult circumstances.

I'm running Windows 10x64 - so I thought I'd try the Windows Rust dev env to see how easily it could be wrangled. Pleasantly surprised to get the rust tools working. However I cannot get a completed build as there are missing libraries and other environmental issues.

Is there any chance of making a binary release available that includes the Pod 1.0 additions?

Many thanks!

cargo build
   Compiling gio-sys v0.16.3
   Compiling glib-sys v0.16.3
   Compiling gobject-sys v0.16.3
   Compiling atk-sys v0.16.0
   Compiling pango-sys v0.16.3
   Compiling gdk-sys v0.16.0
   Compiling gdk-pixbuf-sys v0.16.3
   Compiling cairo-sys-rs v0.16.3
The following warnings were emitted during compilation:

warning: Could not run `"pkg-config" "--libs" "--cflags" "glib-2.0" "glib-2.0 >= 2.56"`

error: failed to run custom build command for `glib-sys v0.16.3`

Caused by:
  process didn't exit successfully: `R:\src\test\rust\pod-ui\target\debug\build\glib-sys-282bd4648d371d8b\build-script-build` (exit code: 1)
  --- stdout
  cargo:rerun-if-env-changed=GLIB_2.0_NO_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-pc-windows-msvc
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_pc_windows_msvc
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-pc-windows-msvc
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_pc_windows_msvc
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-pc-windows-msvc
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_pc_windows_msvc
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-pc-windows-msvc
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_pc_windows_msvc
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR
  cargo:warning=Could not run `"pkg-config" "--libs" "--cflags" "glib-2.0" "glib-2.0 >= 2.56"`
  The pkg-config command could not be found.

  Most likely, you need to install a pkg-config package for your OS.

  If you've already installed it, ensure the pkg-config command is one of the
  directories in the PATH environment variable.

  If you did not expect this build to link to a pre-installed system library,
  then check documentation of the glib-sys crate for an option to
  build the library from source, or disable features or dependencies
  that require pkg-config.
warning: build failed, waiting for other jobs to finish...
The following warnings were emitted during compilation:

warning: Could not run `"pkg-config" "--libs" "--cflags" "gobject-2.0" "gobject-2.0 >= 2.56"`

error: failed to run custom build command for `gobject-sys v0.16.3`

Caused by:
  process didn't exit successfully: `R:\src\test\rust\pod-ui\target\debug\build\gobject-sys-4edc652bc34f09e9\build-script-build` (exit code: 1)
  --- stdout
  cargo:rerun-if-env-changed=GOBJECT_2.0_NO_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-pc-windows-msvc
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_pc_windows_msvc
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-pc-windows-msvc
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_pc_windows_msvc
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-pc-windows-msvc
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_pc_windows_msvc
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-pc-windows-msvc
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_pc_windows_msvc
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR
  cargo:warning=Could not run `"pkg-config" "--libs" "--cflags" "gobject-2.0" "gobject-2.0 >= 2.56"`
  The pkg-config command could not be found.

  Most likely, you need to install a pkg-config package for your OS.

  If you've already installed it, ensure the pkg-config command is one of the
  directories in the PATH environment variable.

  If you did not expect this build to link to a pre-installed system library,
  then check documentation of the gobject-sys crate for an option to
  build the library from source, or disable features or dependencies
  that require pkg-config.
arteme commented 1 year ago

Looks like you either don't have the required libraries installed or you're using the wrong MSYS enviroment (#38). Please see https://github.com/arteme/pod-ui/blob/master/DEVELOPMENT.md#windows for the libraries and remember to use the "white-M-on-blue-background" MSYS MinGW x64 terminal.

g40 commented 1 year ago

Nice. The build worked perfectly using MSYS2x64. Very cool. I will post better data when I've unpacked the 1.0 :).

Thank you!

arteme commented 1 year ago

Released in v1.3.0.