diff options
author | Adrian Knoth <adi@drcomp.erfurt.thur.de> | 2014-02-14 14:32:58 +0100 |
---|---|---|
committer | Adrian Knoth <adi@drcomp.erfurt.thur.de> | 2014-02-14 14:32:58 +0100 |
commit | 3ed0a776188e5a9a80fe713965ab4092c1b40f0c (patch) | |
tree | b93148006c798a050bddd333341a4fa61cea3b3a /linux | |
parent | 820c5bfde4920395a6c9412934e9d36b02abddbb (diff) | |
download | jack2-3ed0a776188e5a9a80fe713965ab4092c1b40f0c.tar.gz |
Revert "Added the beginnings of the IIO driver."
This reverts commit 3087895772cf86610b127af963722259f8c6ffa0.
Diffstat (limited to 'linux')
-rw-r--r-- | linux/iio/JackIIODriver.C | 172 | ||||
-rw-r--r-- | linux/iio/JackIIODriver.H | 65 | ||||
-rw-r--r-- | linux/wscript | 45 |
3 files changed, 5 insertions, 277 deletions
diff --git a/linux/iio/JackIIODriver.C b/linux/iio/JackIIODriver.C deleted file mode 100644 index 1b598c9c..00000000 --- a/linux/iio/JackIIODriver.C +++ /dev/null @@ -1,172 +0,0 @@ -/* -Copyright (C) 2013 Matt Flax <flatmax@> - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#include "JackIIODriver.H" -#include "driver_interface.h" - -#define IIO_DEFAULT_SAMPLERATE 1e6; ///< The default sample rate for the default chip -#define IIO_DEFAULT_PERIODSIZE 1024; ///< The defaul period size - -namespace Jack { - -int JackIIODriver::Open(jack_nframes_t buffer_size, - jack_nframes_t samplerate, - bool capturing, - bool playing, - int inchannels, - int outchannels, - bool monitor, - const char* capture_driver_name, - const char* playback_driver_name, - jack_nframes_t capture_latency, - jack_nframes_t playback_latency) -{ - return JackAudioDriver::Open(buffer_size, samplerate, capturing, playing, inchannels, outchannels, - monitor, capture_driver_name, playback_driver_name, capture_latency, playback_latency); -} - -} // end namespace Jack - - -#ifdef __cplusplus -extern "C" -{ -#endif - - SERVER_EXPORT const jack_driver_desc_t * - driver_get_descriptor () { - jack_driver_desc_t * desc; - jack_driver_desc_filler_t filler; - jack_driver_param_value_t value; - - desc = jack_driver_descriptor_construct("iio", JackDriverMaster, "Linux Industrial IO backend", &filler); - - strcpy(value.str, "AD7476"); - jack_driver_descriptor_add_parameter( - desc, - &filler, - "device", - 'd', - JackDriverParamString, - &value, - NULL, - "The IIO chip to use.", - "The IIO chip to use. Specifies which chip name to scan for on all devices present in /sys/bus/iio."); - - value.ui = IIO_DEFAULT_PERIODSIZE; - jack_driver_descriptor_add_parameter(desc, &filler, "period", 'p', JackDriverParamUInt, &value, NULL, "Frames per period", NULL); - - value.ui = 2; - jack_driver_descriptor_add_parameter(desc, &filler, "nperiods", 'n', JackDriverParamUInt, &value, NULL, "Number of periods of playback latency", NULL); - - value.ui = (IIO_DEFAULT_SAMPLERATE)U; - jack_driver_descriptor_add_parameter(desc, &filler, "rate", 'r', JackDriverParamUInt, &value, NULL, "Sample rate", NULL); - - value.i = 0; - jack_driver_descriptor_add_parameter(desc, &filler, "capture", 'C', JackDriverParamBool, &value, NULL, "Provide capture ports.", NULL); - jack_driver_descriptor_add_parameter(desc, &filler, "playback", 'P', JackDriverParamBool, &value, NULL, "Provide playback ports.", NULL); - - value.i = 0; - jack_driver_descriptor_add_parameter(desc, &filler, "duplex", 'D', JackDriverParamBool, &value, NULL, "Provide both capture and playback ports.", NULL); - - value.ui = 0; - jack_driver_descriptor_add_parameter(desc, &filler, "input-latency", 'I', JackDriverParamUInt, &value, NULL, "Extra input latency (frames)", NULL); - jack_driver_descriptor_add_parameter(desc, &filler, "output-latency", 'O', JackDriverParamUInt, &value, NULL, "Extra output latency (frames)", NULL); - - value.ui = 0; - jack_driver_descriptor_add_parameter(desc, &filler, "inchannels", 'i', JackDriverParamUInt, &value, NULL, "Number of input channels to provide (note: currently ignored)", NULL); - jack_driver_descriptor_add_parameter(desc, &filler, "outchannels", 'o', JackDriverParamUInt, &value, NULL, "Number of output channels to provide (note: currently ignored)", NULL); - - value.ui = 3; - jack_driver_descriptor_add_parameter(desc, &filler, "verbose", 'v', JackDriverParamUInt, &value, NULL, "gtkIOStream verbose level", NULL); - -// value.i = 0; -// jack_driver_descriptor_add_parameter(desc, &filler, "snoop", 'X', JackDriverParamBool, &value, NULL, "Snoop firewire traffic", NULL); - - return desc; - } - - SERVER_EXPORT Jack::JackDriverClientInterface* driver_initialize(Jack::JackLockedEngine* engine, Jack::JackSynchro* table, const JSList* params) { - const JSList * node; - const jack_driver_param_t * param; - - char *device_name=(char*)"AD7476"; - - for (node = params; node; node = jack_slist_next (node)) { - param = (jack_driver_param_t *) node->data; - - switch (param->character) { - case 'd': - device_name = const_cast<char*>(param->value.str); - break; - case 'p': - cmlparams.period_size = param->value.ui; - cmlparams.period_size_set = 1; - break; - case 'n': - cmlparams.buffer_size = param->value.ui; - cmlparams.buffer_size_set = 1; - break; - case 'r': - cmlparams.sample_rate = param->value.ui; - cmlparams.sample_rate_set = 1; - break; - case 'i': - cmlparams.capture_ports = param->value.ui; - break; - case 'o': - cmlparams.playback_ports = param->value.ui; - break; - case 'I': - cmlparams.capture_frame_latency = param->value.ui; - break; - case 'O': - cmlparams.playback_frame_latency = param->value.ui; - break; - case 'x': - cmlparams.slave_mode = param->value.ui; - break; -// case 'X': -// cmlparams.snoop_mode = param->value.i; -// break; - case 'v': - cmlparams.verbose_level = param->value.ui; - } - } - - /* duplex is the default */ - if (!cmlparams.playback_ports && !cmlparams.capture_ports) { - cmlparams.playback_ports = 1; - cmlparams.capture_ports = 1; - } - - iio.findDevicesByChipName(chipName); - - // Special open for FFADO driver... - if (ffado_driver->Open(&cmlparams) == 0) { - return threaded_driver; - } else { - delete threaded_driver; // Delete the decorated driver - return NULL; - } - } - -#ifdef __cplusplus -} -#endif diff --git a/linux/iio/JackIIODriver.H b/linux/iio/JackIIODriver.H deleted file mode 100644 index d93e5999..00000000 --- a/linux/iio/JackIIODriver.H +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (C) 2013 Matt Flax <flatmax@> - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef JACKIIODRIVER_H -#define JACKIIODRIVER_H - -#include "JackAudioDriver.h" -#include "JackThreadedDriver.h" - -#include <IIO/IIO.H> - -namespace Jack { - -/** The Linux Industrial IO (IIO) subsystem driver for Jack. -Currently this driver only supports capture. -*/ -class JackIIODriver : public JackAudioDriver { - - IIO iio; ///< The actual IIO device - -public: - /** Constructor - */ - JackIIODriver(const char* name, const char* alias, JackLockedEngine* engine, JackSynchro* table) : JackAudioDriver(name, alias, engine, table) { - } - - /** Destructor - */ - virtual ~JackIIODriver() { - } - - /** - */ - virtual int Open(jack_nframes_t buffer_size, - jack_nframes_t samplerate, - bool capturing, - bool playing, - int inchannels, - int outchannels, - bool monitor, - const char* capture_driver_name, - const char* playback_driver_name, - jack_nframes_t capture_latency, - jack_nframes_t playback_latency); - -}; - -} // end of Jack namespace -#endif // JACKIIODRIVER_H diff --git a/linux/wscript b/linux/wscript index 3cd94265..a2bb6ba5 100644 --- a/linux/wscript +++ b/linux/wscript @@ -1,8 +1,6 @@ #! /usr/bin/env python # encoding: utf-8 -from waflib import Context - def configure(conf): conf.check_cfg(package='alsa', atleast_version='1.0.18', args='--cflags --libs', mandatory=False) conf.env['BUILD_DRIVER_ALSA'] = conf.is_defined('HAVE_ALSA') @@ -13,35 +11,7 @@ def configure(conf): conf. check_cfg(package='libffado', atleast_version='1.999.17', args='--cflags --libs', mandatory=False) conf.env['BUILD_DRIVER_FFADO'] = conf.is_defined('HAVE_LIBFFADO') - conf.check_cfg(package='gtkIOStream', atleast_version='1.4.0', args='--cflags --libs', mandatory=False) - conf.env['BUILD_DRIVER_IIO'] = conf.is_defined('HAVE_GTKIOSTREAM') - conf.check_cfg(package='eigen3', atleast_version='3.2.0', args='--cflags --libs', mandatory=False) - conf.env['BUILD_DRIVER_IIO'] += conf.is_defined('HAVE_EIGEN3') - conf.check_cfg(package='sox', atleast_version='14.4.1', args='--cflags --libs', mandatory=False) - conf.env['BUILD_DRIVER_IIO'] += conf.is_defined('HAVE_SOX') - #conf.env['BUILD_DRIVER_IIO'] += conf.is_defined('HAVE_EIGEN3') - #print conf.env - #conffile.write("\n".join(myconf)) - #conf.define('HAVE_PPOLL', 1 ) - - conf.find_program("mkoctfile", var="MKOCTFILE") - if conf.env.MKOCTFILE: - conf.env['HAVE_OCTAVE']=1 - conf.env['define_key'] += ['HAVE_OCTAVE'] - conf.env['DEFINES'] += ['HAVE_OCTAVE=1'] - #conf.env('Octave') - conf.env['INCLUDES_OCTAVE'] = conf.cmd_and_log([conf.env.MKOCTFILE, "--print", "INCFLAGS" ], - output=Context.STDOUT).replace('\n', '').replace('-I','').split() - lflags = conf.cmd_and_log([conf.env.MKOCTFILE, "--print", "LFLAGS" ], - output=Context.STDOUT) - conf.env['LIB_OCTAVE'] = conf.cmd_and_log([conf.env.MKOCTFILE, "--print", "OCTAVE_LIBS" ], - output=Context.STDOUT).replace('\n', '').replace('-l','').split() - #conf.append("INCFLAGS: " + incflags) - #conf.append("LFLAGS: " + lflags) - #conf.append("LIBS: " + libs) - print conf.env - #import pdb; pdb.set_trace() - + conf.define('HAVE_PPOLL', 1 ) def create_jack_driver_obj(bld, target, sources, uselib = None): driver = bld(features = ['c', 'cxx', 'cxxshlib', 'cshlib']) @@ -66,15 +36,15 @@ def build(bld): jackd.defines = ['HAVE_CONFIG_H','SERVER_SIDE'] jackd.source = ['../common/Jackdmp.cpp'] jackd.use = ['serverlib'] - if bld.env['IS_LINUX'] and bld.env['BUILD_JACKDBUS']: - jackd.source += ['../dbus/reserve.c', '../dbus/audio_reserve.c'] + if bld.env['IS_LINUX'] and bld.env['BUILD_JACKDBUS']: + jackd.source += ['../dbus/reserve.c', '../dbus/audio_reserve.c'] jackd.use += ['PTHREAD', 'DL', 'RT', 'M', 'STDC++', 'DBUS-1'] else: jackd.use += ['PTHREAD', 'DL', 'RT', 'M', 'STDC++'] jackd.target = 'jackd' - + create_jack_driver_obj(bld, 'dummy', '../common/JackDummyDriver.cpp') - + alsa_driver_src = [ 'alsa/JackAlsaDriver.cpp', 'alsa/alsa_rawmidi.c', @@ -104,8 +74,6 @@ def build(bld): 'firewire/JackFFADOMidiSendQueue.cpp' ] - iio_driver_src = ['iio/JackIIODriver.C'] - if bld.env['BUILD_DRIVER_ALSA'] == True: create_jack_driver_obj(bld, 'alsa', alsa_driver_src, ["ALSA"]) create_jack_driver_obj(bld, 'alsarawmidi', alsarawmidi_driver_src, @@ -117,9 +85,6 @@ def build(bld): if bld.env['BUILD_DRIVER_FFADO'] == True: create_jack_driver_obj(bld, 'firewire', ffado_driver_src, ["LIBFFADO"]) - if bld.env['BUILD_DRIVER_IIO'] == True: - create_jack_driver_obj(bld, 'iio', iio_driver_src, ["GTKIOSTREAM", "EIGEN3", "OCTAVE"]) - create_jack_driver_obj(bld, 'net', '../common/JackNetDriver.cpp') create_jack_driver_obj(bld, 'loopback', '../common/JackLoopbackDriver.cpp') |