Page 1 of 1

[SOLVED] Fast Track Pro volume control

Posted: Wed Sep 09, 2015 5:40 pm
by r30
Hello there! I've installed KXStudio over my Mint 17 and the packages seemed to install and configure smoothly, so I'm very happy with it.

There's one problem though, that I've been struggling with for over a week: I can't control my Fast Track Pro volume. At the moment this can't be done neither via hardware (FTP knobs) nor an applet.
Note that I do have sound but it's not modifiable; e.g. if I'm watching a YouTube video the only way to control the volume is from the YouTube video itself.

Image

Volti gives me this error:

Code: Select all

volumeicon: alsa_backend.c:86: asound_get_volume: Assertion `m_elem != ((void *)0)' failed.
volumeicon-alsa gives me this error:

Code: Select all

can't open Master control for card Pro, trying to select first available mixer channel.
Is there any solution to this? It would be really useful to enable knobs. Thanks in advanced :)

Info on my hardware and configuration:

lsusb:

Code: Select all

Bus 002 Device 002: ID 8087:8000 Intel Corp. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:8008 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 0763:2012 Midiman M-Audio Fast Track Pro
Bus 003 Device 002: ID 15d9:0a4f Trust International B.V. 
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
cat /proc/asound/modules

Code: Select all

 0 snd_usb_audio
 1 snd_aloop
 2 snd_hda_intel
cat /proc/asound/cards

Code: Select all

                      M-Audio FastTrack Pro at usb-0000:00:14.0-4, full speed
 1 [Loopback       ]: Loopback - Loopback
                      Loopback 1
 2 [HDMI           ]: HDA-Intel - HDA Intel HDMI
                      HDA Intel HDMI at 0xf7d10000 irq 46
/home/r30/.asoundrc

Code: Select all

# ------------------------------------------------------
# Custom asoundrc file for use with snd-aloop and JACK
#
# use it like this:
# env JACK_SAMPLE_RATE=44100 JACK_PERIOD_SIZE=1024 alsa_in (...)
#

# ------------------------------------------------------
# playback device
pcm.aloopPlayback {
  type dmix
  ipc_key 1
  ipc_key_add_uid true
  slave {
    pcm "hw:Loopback,0,0"
    format S32_LE
    rate {
      @func igetenv
      vars [ JACK_SAMPLE_RATE ]
      default 44100
    }
    period_size {
      @func igetenv
      vars [ JACK_PERIOD_SIZE ]
      default 1024
    }
    buffer_size 4096
  }
}

# capture device
pcm.aloopCapture {
  type dsnoop
  ipc_key 2
  ipc_key_add_uid true
  slave {
    pcm "hw:Loopback,0,1"
    format S32_LE
    rate {
      @func igetenv
      vars [ JACK_SAMPLE_RATE ]
      default 44100
    }
    period_size {
      @func igetenv
      vars [ JACK_PERIOD_SIZE ]
      default 1024
    }
    buffer_size 4096
  }
}

# duplex device
pcm.aloopDuplex {
  type asym
  playback.pcm "aloopPlayback"
  capture.pcm "aloopCapture"
}

# ------------------------------------------------------
# default device
pcm.!default {
  type plug
  slave.pcm "aloopDuplex"
}

# ------------------------------------------------------
# alsa_in -j alsa_in -dcloop -q 1
pcm.cloop {
  type dsnoop
  ipc_key 3
  ipc_key_add_uid true
  slave {
    pcm "hw:Loopback,1,0"
    format S32_LE
    rate {
      @func igetenv
      vars [ JACK_SAMPLE_RATE ]
      default 44100
    }
    period_size {
      @func igetenv
      vars [ JACK_PERIOD_SIZE ]
      default 1024
    }
    buffer_size 32768
  }
}

# ------------------------------------------------------
# alsa_out -j alsa_out -dploop -q 1
pcm.ploop {
  type plug
  slave.pcm "hw:Loopback,1,1"
}
/etc/modprobe.d/alsa-base.conf

Code: Select all

# autoloader aliases
install sound-slot-0 /sbin/modprobe snd-card-0
install sound-slot-1 /sbin/modprobe snd-card-1
install sound-slot-2 /sbin/modprobe snd-card-2
install sound-slot-3 /sbin/modprobe snd-card-3
install sound-slot-4 /sbin/modprobe snd-card-4
install sound-slot-5 /sbin/modprobe snd-card-5
install sound-slot-6 /sbin/modprobe snd-card-6
install sound-slot-7 /sbin/modprobe snd-card-7

# Cause optional modules to be loaded above generic modules
install snd /sbin/modprobe --ignore-install snd $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-ioctl32 ; /sbin/modprobe --quiet --use-blacklist snd-seq ; }
#
# Workaround at bug #499695 (reverted in Ubuntu see LP #319505)
install snd-pcm /sbin/modprobe --ignore-install snd-pcm $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-pcm-oss ; : ; }
install snd-mixer /sbin/modprobe --ignore-install snd-mixer $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-mixer-oss ; : ; }
install snd-seq /sbin/modprobe --ignore-install snd-seq $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq-midi ; /sbin/modprobe --quiet --use-blacklist snd-seq-oss ; : ; }
#
install snd-rawmidi /sbin/modprobe --ignore-install snd-rawmidi $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq-midi ; : ; }
# Cause optional modules to be loaded above sound card driver modules
install snd-emu10k1 /sbin/modprobe --ignore-install snd-emu10k1 $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-emu10k1-synth ; }
install snd-via82xx /sbin/modprobe --ignore-install snd-via82xx $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq ; }

# Load saa7134-alsa instead of saa7134 (which gets dragged in by it anyway)
install saa7134 /sbin/modprobe --ignore-install saa7134 $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist saa7134-alsa ; : ; }
# Prevent abnormal drivers from grabbing index 0
options bt87x index=-2
options cx88_alsa index=-2
options saa7134-alsa index=-2
options snd-atiixp-modem index=-2
options snd-intel8x0m index=-2
options snd-via82xx-modem index=-2
options snd-usb-audio index=-2
options snd-usb-caiaq index=-2
options snd-usb-ua101 index=-2
options snd-usb-us122l index=-2
options snd-usb-usx2y index=-2
# Ubuntu #62691, enable MPU for snd-cmipci
options snd-cmipci mpu_port=0x330 fm_port=0x388
# Keep snd-pcsp from being loaded as first soundcard
options snd-pcsp index=-2
# Keep snd-usb-audio from beeing loaded as first soundcard
options snd-usb-audio index=-2

### ADDED BY USER ###
#options snd-hda-intel index=-2
#options snd-aloop index=-2

Re: Fast Track Pro volume control

Posted: Wed Sep 09, 2015 9:08 pm
by AyeLinux
I have a Fast Track Ultra, which looks just like yours, but bigger and with more ports. I have no idea if they're anywhere near as similar on the inside as they are on the outside. I also use Ubuntu Studio 14.04.

When I first got my FTU, I found a hint about its internal routing. I used the ALSA mixer to turn down (off) all internal audio routing except each Digital-in-x to Analog-out-x. The command line ALSA mixer and GUI ALSA mixer both work fine for this, and I only needed to do it once. (Now I use the same tools to route analog inputs to the monitors and cans for zero-latency monitoring.)

I don't know if I'm forgetting something, because I'm answering from memory while at work. I'll try to remember to look for any other clues when I'm at home.

Re: Fast Track Pro volume control

Posted: Wed Sep 09, 2015 10:20 pm
by r30
Well, I got a solution thanks to bluebell from the #opensourcemusicians channel in the IRC Freenode server.

I have put some little extra work in order to have the volume control in the tray bar.

These are the steps:
0) Download this file and extract its content: http://www.mediafire.com/download/8924m ... xer.tar.gz

1) Download jack-tools (in order to get jack.plumbing) and devilspie:

Code: Select all

sudo apt-get install jack-tools devilspie
2) Download jack-mixer (which is run as jack_mixer) and install with Package Installer:
Package "jack-mixer" version 10-1
Note: I downloaded this package from that source because jack-mixer 10 is not available in Mint's repository, and it has a tray icon option.

3) Extract .jack.pumbing, .jack_mixer and jack_plumbing.sh in user folder.
Note: The username in the sh file has to be changed according to the PC that is being used.

4) Put jack_plumbing.sh in Startup Applications with a delay of 3 seconds.

5) Install devilspie:

Code: Select all

sudo apt-get install devilspie
6) Put jack_mixer.ds in ~/.devilspie directory.

7) Put devilspie in Startup Applications with no delay.

Cheers :)