Tizen 2.1 base
authorJinkun Jang <jinkun.jang@samsung.com>
Tue, 12 Mar 2013 16:43:33 +0000 (01:43 +0900)
committerJinkun Jang <jinkun.jang@samsung.com>
Tue, 12 Mar 2013 16:43:33 +0000 (01:43 +0900)
19 files changed:
README
configure.ac
debian/changelog
debian/control
doc/Makefile.am
include/remix/remix.h
include/remix/remix_plugin.h
include/remix/remix_types.h
libremix.manifest [new file with mode: 0644]
packaging/libremix.spec [new file with mode: 0644]
src/ctxdata/cd_list.c
src/examples/Makefile.am
src/libremix/remix_base.c
src/libremix/remix_context.c
src/libremix/remix_debug.c
src/libremix/remix_envelope.c
src/libremix/remix_private.h
src/libremix/remix_sndfile.c
src/libremix/remix_squaretone.c

diff --git a/README b/README
index 212f3f2..66a3364 100644 (file)
--- a/README
+++ b/README
@@ -15,10 +15,9 @@ Developers
 
 Please join the remix-devel mailing list, linked from the homepage.
 
-libremix is maintained in Subversion with anonymous read access. You can
-check out the most current version of libremix from:
+libremix is maintained in Git at Github:
 
-svn co http://svn.metadecks.org/libremix/trunk libremix
+https://github.com/kfish/remix
 
 A list of outstanding tasks is maintained in the TODO file of this source
 distribution. When implementing anything listed in this file, please update
@@ -28,7 +27,7 @@ that implements the fix.
 Copyrights
 ----------
 
-Copyright (C) 2000-2010 Conrad Parker <conrad@metadecks.org>
+Copyright (C) 2000-2011 Conrad Parker <conrad@metadecks.org>
 Copyright (C) 2001, 2002 Commonwealth Scientific and Industrial Research
 Organisation (CSIRO), Australia.
 
index 797957f..be0edf7 100644 (file)
@@ -1,9 +1,31 @@
 dnl Process this file with autoconf to produce a configure script.
 AC_INIT(src/libremix/remix_base.c)
 
-AM_INIT_AUTOMAKE(remix, 0.2.3)
+AM_INIT_AUTOMAKE(remix, 0.2.4)
 AM_CONFIG_HEADER(config.h)
 
+example_programs="noisedemo squaredemo"
+
+################################################################################
+# Set the shared versioning info, according to section 6.3 of the libtool info #
+# pages. CURRENT:REVISION:AGE must be updated immediately before each release: #
+#                                                                              #
+#   * If the library source code has changed at all since the last             #
+#     update, then increment REVISION (`C:R:A' becomes `C:r+1:A').             #
+#                                                                              #
+#   * If any interfaces have been added, removed, or changed since the         #
+#     last update, increment CURRENT, and set REVISION to 0.                   #
+#                                                                              #
+#   * If any interfaces have been added since the last public release,         #
+#     then increment AGE.                                                      #
+#                                                                              #
+#   * If any interfaces have been removed since the last public release,       #
+#     then set AGE to 0.                                                       #
+#                                                                              #
+################################################################################
+SHARED_VERSION_INFO="1:0:1"
+SHLIB_VERSION_ARG=""
+
 dnl Checks for programs.
 AM_PROG_LIBTOOL
 AC_PROG_INSTALL
@@ -60,16 +82,15 @@ dnl
 dnl  Detect libsndfile 1.0
 dnl
 
+
 PKG_CHECK_MODULES(SNDFILE, sndfile >= 1.0.0,
                   HAVE_LIBSNDFILE1="yes", HAVE_LIBSNDFILE1="no")
 
-AC_SUBST(SNDFILE_LIBS)
-AC_SUBST(SNDFILE_CFLAGS)
-
 if test "$HAVE_LIBSNDFILE1" = "yes" ; then
   AC_DEFINE([HAVE_LIBSNDFILE1], [], [Define if libsndfile version 1 found])
   AC_SUBST(SNDFILE_LIBS)
   AC_SUBST(SNDFILE_CFLAGS)
+  example_programs="${example_programs} sndfiledemo"
 else
   AC_CHECK_LIB(sndfile, sf_open, HAVE_LIBSNDFILE1="maybe")
   if test "$HAVE_LIBSNDFILE1" = "maybe" ; then
@@ -135,7 +156,6 @@ AC_ARG_ENABLE(gcc-werror,
        AC_HELP_STRING([--enable-gcc-werror], [enable -Werror in all Makefiles]))
 
 dnl Use -Wall if we have gcc.
-
 if test "x$ac_cv_prog_gcc" = xyes ; then
   CFLAGS="$CFLAGS -Wall"
 
@@ -145,6 +165,9 @@ if test "x$ac_cv_prog_gcc" = xyes ; then
 
 fi
 
+AC_SUBST(SHLIB_VERSION_ARG)
+AC_SUBST(SHARED_VERSION_INFO)
+
 AC_OUTPUT([
 Makefile
 doc/Makefile
index 43ec6ac..a5dfdef 100755 (executable)
@@ -1,5 +1,31 @@
+libremix (0.2.4+slp2+build02) unstable; urgency=low
+
+  * Upload Package.
+  * Git: slp/pkgs/l/libremix
+  * Tag: libremix_0.2.4+slp2+build02
+
+ -- Hyoyoung Chang <hyoyoung.chang@samsung.com>  Thu, 07 Jun 2012 15:08:59 +0900
+
+libremix (0.2.4-1slp2) unstable; urgency=low
+
+  * Upload Package.
+  * Git: slp/pkgs/l/libremix
+  * Tag: libremix_0.2.4-1slp2
+
+ -- Daniel Juyung Seo <juyung.seo@samsung.com>  Wed, 09 May 2012 19:58:35 +0900
+
+libremix (0.2.4) unstable; urgency=low
+
+  * Merge with svn version 0.2.4 and whitespace removed.
+  * Git: slp/pkgs/l/libremix
+  * Tag: 0.2.4
+
+ -- Prince Kumar Dubey <prince.dubey@samsung.com>  Thu, 19 Jan 2012 18:38:00 +0530
+
 libremix (0.2.3) unstable; urgency=low
 
   * Initial Version.
+  * Git: slp/pkgs/l/libremix
+  * Tag: 0.2.3
 
- -- Prince Kumar Dubey <prince.dubey@samsung.com> Govindaraju S M <govi.sm@samsung.com>  Tue, 20 Sep 2011 15:00:00 +0900
\ No newline at end of file
+ -- Prince Kumar Dubey <prince.dubey@samsung.com> Govindaraju S M <govi.sm@samsung.com>  Tue, 20 Sep 2011 15:00:00 +0900
index f6374d1..fc014be 100755 (executable)
@@ -1,15 +1,15 @@
 Source: libremix
 Section: libs
 Priority: optional
-Uploaders: Prince Kumar Dubey<prince.dubey@samsung.com> Govindaraju S M<govi.sm@samsung.com>
-Maintainer: Conrad Parker <conrad@metadecks.org>
-Build-Depends: cdbs, libsndfile1-dev, pkg-config, libtool
-Standards-Version: 0.2.3
+Uploaders: Prince Kumar Dubey <prince.dubey@samsung.com>, Govindaraju S M <govi.sm@samsung.com>, Daniel Juyung Seo <juyung.seo@samsung.com>, Hyoyoung Chang <hyoyoung.chang>
+Maintainer: Prince Kumar Dubey <prince.dubey@samsung.com>
+Build-Depends: cdbs, libsndfile1-dev, libsndfile1, pkg-config, libtool
+Standards-Version: 0.2.4
 Homepage: http://www.metadecks.org/software/remix/
 
 Package: libremix
 Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}, libsndfile1-dev
+Depends: ${shlibs:Depends}, ${misc:Depends}, libsndfile1
 Suggests: libremix (= ${binary:Version})
 Description: Various binaries for use with libremix.
    Remix is an audio sequencing and mixing library that provides a multichannel,
@@ -26,4 +26,4 @@ Description: libremix headers and static libraries
    Remix is an audio sequencing and mixing library that provides a multichannel,
    sparse audio data container (streams), a structured mixing abstraction (decks),
    and widely useful means of generating control data (via envelopes) and of
-   caching audio data.
\ No newline at end of file
+   caching audio data.
index fc9e479..6855753 100644 (file)
@@ -2,7 +2,7 @@ docdir=$(prefix)/share/doc/@PACKAGE@
 
 EXTRA_DIST = Doxyfile.in
 
-doc_DATA = doxygen-build.stamp
+noinst_DATA = doxygen-build.stamp
 
 if HAVE_DOXYGEN
 doxygen-build.stamp: Doxyfile $(top_srcdir)/include/remix/*.h
@@ -20,33 +20,35 @@ dist-hook:
        if test -d libremix; then \
          mkdir $(dist_docdir); \
          for dir in libremix/*; do \
-            if test -d $$dir; then \
-              b=`basename $$dir`; \
-              mkdir $(dist_docdir)/$$b; \
-             for f in $$dir/*; do \
-                cp -p $$f $(dist_docdir)/$$b; \
-              done \
-            fi \
-          done \
+           b=`basename $$dir`; \
+           if test $$b != "CVS"; then \
+             if test -d $$dir; then \
+               mkdir $(dist_docdir)/$$b; \
+               for f in $$dir/*; do \
+                 cp -p $$f $(dist_docdir)/$$b; \
+               done \
+             fi \
+           fi \
+         done \
        fi
 
 
 install-data-local: doxygen-build.stamp
-       $(mkinstalldirs) $(docdir)
+       $(mkinstalldirs) $(DESTDIR)$(docdir)
        if test -d libremix; then \
          for dir in libremix/*; do \
            if test -d $$dir; then \
              b=`basename $$dir`; \
-             $(mkinstalldirs) $(docdir)/$$b; \
+             $(mkinstalldirs) $(DESTDIR)$(docdir)/$$b; \
              for f in $$dir/*; do \
-               $(INSTALL_DATA) $$f $(docdir)/$$b; \
-              done \
+               $(INSTALL_DATA) $$f $(DESTDIR)$(docdir)/$$b; \
+             done \
            fi \
          done \
        fi
 
 uninstall-local:
-       rm -rf $(docdir)
+       rm -rf $(DESTDIR)$(docdir)
 
 clean-local:
        if test -d libremix; then rm -rf libremix; fi
index 8a4583e..4ec3427 100644 (file)
@@ -182,6 +182,13 @@ RemixTempo remix_get_tempo (RemixEnv * env);
 CDSet * remix_set_channels (RemixEnv * env, CDSet * channelset);
 CDSet * remix_get_channels (RemixEnv * env);
 
+#if 0
+  /* XXX */
+/* Sources: Plugins, Samples etc. */
+CDList * remix_open (SOUNDRENDER env, char * filename);
+void remix_close (SOUNDRENDER env, RemixPlugin plugin);
+#endif
+
 /* Base objects */
 
 RemixPlugin * remix_find_plugin (RemixEnv * env, char * identifier);
index 51c7e33..73fd5e3 100644 (file)
@@ -64,8 +64,6 @@ typedef struct _RemixPlugin RemixPlugin;
 
 typedef struct _RemixChunk RemixChunk;
 
-typedef struct _Remix_Sound_Data Remix_Sound_Data;
-
 #if defined (__REMIX__)
 #include "remix_private.h"
 #else
index 52e733a..4f379a8 100644 (file)
@@ -48,8 +48,7 @@ typedef long RemixCount;
 #define REMIX_COUNT_MIN LONG_MIN
 #define REMIX_COUNT_INFINITE REMIX_COUNT_MAX
 
-//TODO xxx : Change this
-typedef struct _RemixOpaque RemixOpaque;
+typedef void RemixOpaque;
 
 #if defined (__REMIX__)
 typedef struct _RemixBase RemixBase;
@@ -57,11 +56,6 @@ typedef struct _RemixBase RemixBase;
 typedef RemixOpaque RemixBase;
 #endif
 
-//TODO xxx : Change this
-struct _RemixOpaque {
-  void * instance_data;
-};
-
 typedef CDScalar RemixParameter;
 
 typedef int RemixFlags;
@@ -136,7 +130,6 @@ typedef enum {
 #define REMIX_HINT_LOG      (1<<0)
 #define REMIX_HINT_TIME     (1<<1)
 #define REMIX_HINT_FILENAME (1<<2)
-#define REMIX_HINT_CHANNEL (1<<3)
 
 #define REMIX_CONSTRAINT_EMPTY ((RemixConstraint){NULL})
 
diff --git a/libremix.manifest b/libremix.manifest
new file mode 100644 (file)
index 0000000..97e8c31
--- /dev/null
@@ -0,0 +1,5 @@
+<manifest>
+       <request>
+               <domain name="_"/>
+       </request>
+</manifest>
diff --git a/packaging/libremix.spec b/packaging/libremix.spec
new file mode 100644 (file)
index 0000000..2808cdc
--- /dev/null
@@ -0,0 +1,67 @@
+%define prefix  /usr
+
+Name:       libremix
+Summary:    An audio sequencing and mixing library.
+Version:    0.2.4+slp2+build02
+Release:    1
+Group:      Libraries/Sound
+License:    LGPLv2.1
+URL:        http://www.metadecks.org/software/remix/
+Source0:    %{name}-%{version}.tar.gz
+Requires(post): /sbin/ldconfig
+Requires(postun): /sbin/ldconfig
+BuildRequires: libsndfile-devel
+
+%description
+Remix is a library for rendering audio data.
+
+%package devel
+Summary: Libraries, includes, etc to develop remix applications
+Group: Libraries
+Requires:   %{name} = %{version}-%{release}
+
+%description devel
+Libraries, include files, etc you can use to develop remix applications.
+
+%prep
+%setup -q
+
+%build
+./autogen.sh
+./configure --prefix=%{prefix}
+make %{?jobs:-j%jobs}
+
+%install
+if [ -d %{buildroot} ]; then rm -rf %{buildroot}; fi
+make install DESTDIR=%{buildroot}
+mkdir -p %{buildroot}/usr/share/license
+cp %{_builddir}/%{buildsubdir}/COPYING %{buildroot}/usr/share/license/%{name}
+
+%clean
+if [ -d %{buildroot} ]; then rm -rf %{buildroot}; fi
+
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+%files
+%defattr(-,root,root,-)
+%doc AUTHORS COPYING ChangeLog INSTALL NEWS README TODO doc
+%{_libdir}/libremix.so.*
+%{_libdir}/libctxdata.so*
+/usr/share/license/%{name}
+%manifest %{name}.manifest
+
+%files devel
+%defattr(-,root,root,-)
+%{_libdir}/libremix.a
+%{_libdir}/libremix.la
+%{_libdir}/libremix.so
+%{_libdir}/libctxdata.a
+%{_libdir}/libctxdata.la
+%{_libdir}/libctxdata.so*
+%{_libdir}/pkgconfig/*.pc
+%{_libdir}/remix/libremix_ladspa*
+%{_libdir}/remix/libremix_noise*
+%{_includedir}/ctxdata.h
+%{_includedir}/remix/*.h
index 1de9c5c..2bd38aa 100644 (file)
@@ -435,7 +435,7 @@ cd_list_destroy_with (void * ctx, CDList * list, CDDestroyFunc destroy)
 
   for (l = list; l; l = ln) {
     ln = l->next;
-//    destroy (ctx, l->data.s_pointer);
+    destroy (ctx, l->data.s_pointer);
     cd_free (l);
   }
 
index d9f29fd..77c7b1e 100644 (file)
@@ -2,9 +2,9 @@
 INCLUDES = -I$(top_srcdir)/src/ctxdata -I$(top_srcdir)/include -I../ctxdata
 
 if BUILD_MONITOR
-monitor_programs = noisedemo squaredemo mysquaredemo
+monitor_programs = noisedemo squaredemo
 if HAVE_LIBSNDFILE1
-sndfile_programs = sndfiledemo simple_sndfiledemo
+sndfile_programs = sndfiledemo
 endif
 
 endif
@@ -24,13 +24,6 @@ noisedemo_LDADD = $(REMIX_LIBS)
 squaredemo_SOURCES = squaredemo.c
 squaredemo_LDADD = $(REMIX_LIBS)
 
-mysquaredemo_SOURCES = simple_squaredemo.c
-mysquaredemo_LDADD = $(REMIX_LIBS)
-
 sndfiledemo_CFLAGS = -DSAMPLEDIR=\"$(srcdir)\"
 sndfiledemo_SOURCES = sndfiledemo.c
 sndfiledemo_LDADD = $(REMIX_LIBS) @SNDFILE_LIBS@
-
-simple_sndfiledemo_CFLAGS = -DSAMPLEDIR=\"$(srcdir)\"
-simple_sndfiledemo_SOURCES = simple_sndfiledemo.c
-simple_sndfiledemo_LDADD = $(REMIX_LIBS) @SNDFILE_LIBS@
index 1b27484..bb51fee 100644 (file)
@@ -431,9 +431,6 @@ remix_process_fast (RemixEnv * env, RemixBase * base, RemixCount count,
     remix_set_error (env, REMIX_ERROR_INVALID);
     return -1;
   }
-
-  remix_get_meta_text (env, base);
-
   n = _remix_process (env, base, count, input, output);
   if (n > 0) base->offset += n;
   return n;
index a5398c1..02cb97e 100644 (file)
@@ -49,7 +49,7 @@ remix_context_destroy (RemixEnv * env)
 
   world->plugins = cd_list_destroy_with (env, world->plugins, remix_plugin_destroy);
   remix_plugin_defaults_unload (env);
-//need to analyse why its commented in svn version ???
+
   //world->bases = cd_list_destroy_with (env, world->bases, remix_destroy);
 
   remix_channelset_defaults_destroy (env);
index c782b7d..7b79856 100644 (file)
@@ -66,7 +66,7 @@ remix_debug_up (void)
 void
 remix_dprintf (const char * fmt, ...)
 {
-#if 0
+#ifdef DEBUG
   va_list ap;
   char buf[4096];
   int i, n;
index f039bc0..b30c125 100644 (file)
@@ -116,7 +116,6 @@ remix_envelope_new (RemixEnv * env, RemixEnvelopeType type)
   remix_envelope_init (env, (RemixBase *)envelope);
   envelope->type = type;
   remix_envelope_debug (env, envelope);
-
   return envelope;
 }
 
index b72cc4d..f10c3f9 100644 (file)
@@ -426,7 +426,6 @@ RemixCount _remix_chunk_blend_inplace (RemixEnv * env,
 /* XXX: remove these when dynamic! */
 CDList * __gain_init (RemixEnv * env);
 CDList * __sndfile_init (RemixEnv * env);
-CDList * __ogg_init (RemixEnv * env);
 
 #endif /* defined(__REMIX__) */
 
index 664ba83..912f197 100644 (file)
@@ -45,7 +45,6 @@ struct _RemixSndfileInstance {
   SF_INFO info;
   float * pcm;
   sf_count_t pcm_n;
-  CDSet * channels;
 };
 
 
@@ -319,17 +318,6 @@ static struct _RemixParameterScheme path_scheme = {
   REMIX_HINT_FILENAME,
 };
 
-
-static struct _RemixParameterScheme channels_scheme = {
-  "channels",
-  "Channel List to play file",
-  REMIX_TYPE_BOOL,
-  REMIX_CONSTRAINT_TYPE_NONE,
-  REMIX_CONSTRAINT_EMPTY,
-  REMIX_HINT_CHANNEL,
-};
-
-
 #if 0
 static RemixNamedParameter types[] = {
   REMIX_NAMED_PARAMETER ("WAV", CD_INT(SF_FORMAT_WAV)),
index 9d25a77..5a79cf1 100644 (file)
 #define __REMIX__
 #include "remix.h"
 
-typedef struct _RemixSquareToneChannelData RemixSquareToneChannelData;
+typedef struct _RemixSquareToneChannel RemixSquareToneChannel;
 typedef struct _RemixSquareTone RemixSquareTone;
 
-struct _RemixSquareToneChannelData {
+struct _RemixSquareToneChannel {
   RemixCount _cycle_offset;
 };
 
 struct _RemixSquareTone {
   RemixBase base;
   float frequency;
-  CDSet * channel_data;
   CDSet * channels;
 };
 
@@ -50,20 +49,20 @@ static RemixSquareTone * remix_squaretone_optimise (RemixEnv * env,
 static RemixSquareTone *
 remix_squaretone_replace_channels (RemixEnv * env, RemixSquareTone * squaretone)
 {
-  RemixSquareToneChannelData * sqch;
+  RemixSquareToneChannel * sqch;
   CDSet * s, * channels = remix_get_channels (env);
   RemixCount offset = remix_tell (env, (RemixBase *)squaretone);
 
-  cd_set_free_all (env, squaretone->channel_data);
+  cd_set_free_all (env, squaretone->channels);
 
   for (s = channels; s; s = s->next) {
     remix_dprintf ("[remix_squaretone_replace_channels] %p replacing channel %d\n",
                squaretone, s->key);
-    sqch = (RemixSquareToneChannelData *)
-      remix_malloc (sizeof (struct _RemixSquareToneChannelData));
+    sqch = (RemixSquareToneChannel *)
+      remix_malloc (sizeof (struct _RemixSquareToneChannel));
     sqch->_cycle_offset = 0;
-    squaretone->channel_data =
-      cd_set_insert (env, squaretone->channel_data, s->key, CD_POINTER(sqch));
+    squaretone->channels =
+      cd_set_insert (env, squaretone->channels, s->key, CD_POINTER(sqch));
   }
 
   if (offset > 0) remix_seek (env, (RemixBase *)squaretone, offset, SEEK_SET);
@@ -75,7 +74,7 @@ static RemixBase *
 remix_squaretone_init (RemixEnv * env, RemixBase * base)
 {
   RemixSquareTone * squaretone = (RemixSquareTone *)base;
-  squaretone->channel_data = NULL;
+  squaretone->channels = NULL;
   remix_squaretone_replace_channels (env, squaretone);
   remix_squaretone_optimise (env, squaretone);
   return base;
@@ -142,28 +141,6 @@ remix_squaretone_get_frequency (RemixEnv * env, RemixBase * base)
   return squaretone->frequency;
 }
 
-void
-remix_squaretone_add_channel (RemixEnv * env, RemixBase * base, RemixChannelName channel )
-{
-  RemixSquareTone * squaretone = (RemixSquareTone *)base;
-  squaretone->channels = cd_set_replace (env, squaretone->channels, channel, CD_POINTER(NULL));;
-}
-
-void
-remix_squaretone_remove_channel (RemixEnv * env, RemixBase * base, RemixChannelName channel )
-{
-  RemixSquareTone * squaretone = (RemixSquareTone *)base;
-  squaretone->channels = cd_set_remove(env, squaretone->channels, channel );
-}
-
-CDSet *
-remix_squaretone_get_channels (RemixEnv * env, RemixBase * base )
-{
-  RemixSquareTone * squaretone = (RemixSquareTone *)base;
-  return squaretone->channels;
-}
-
-
 /* An RemixChunkFunc for creating squaretone data */
 static RemixCount
 remix_squaretone_write_chunk (RemixEnv * env, RemixChunk * chunk,
@@ -171,21 +148,18 @@ remix_squaretone_write_chunk (RemixEnv * env, RemixChunk * chunk,
                               int channelname, void * data)
 {
   RemixSquareTone * squaretone = (RemixSquareTone *)data;
-  RemixSquareToneChannelData * sqch;
+  RemixSquareToneChannel * sqch;
   RemixCount remaining = count, written = 0, n;
   RemixCount wavelength;
   RemixPCM * d, value;
   CDScalar k;
-  int channel_enabled = 0;
 
   remix_dprintf ("[remix_squaretone_write_chunk] (+%ld) @ %ld\n",
                  count, offset);
 
-  k = cd_set_find (env, squaretone->channel_data, channelname);
+  k = cd_set_find (env, squaretone->channels, channelname);
   sqch = k.s_pointer;
 
-  channel_enabled = cd_set_contains (env, squaretone->channels, channelname);
-
   if (sqch == RemixNone) {
     remix_dprintf ("[remix_squaretone_write_chunk] channel %d not found\n",
                    channelname);
@@ -206,8 +180,6 @@ remix_squaretone_write_chunk (RemixEnv * env, RemixChunk * chunk,
     value = -1.0;
   }
 
-  if(!channel_enabled ) value = 0;
-
   d = &chunk->data[offset];
   _remix_pcm_set (d, value, n);
   remaining -= n; written += n; offset += n;
@@ -250,13 +222,13 @@ remix_squaretone_seek (RemixEnv * env, RemixBase * base, RemixCount offset)
   RemixCount wavelength;
   CDSet * s;
   RemixCount cycle_offset;
-  RemixSquareToneChannelData * sqch;
+  RemixSquareToneChannel * sqch;
 
   wavelength = (RemixCount)(remix_get_samplerate (env) / squaretone->frequency);
   cycle_offset = offset % wavelength;
 
-  for (s = squaretone->channel_data; s; s = s->next) {
-    sqch = (RemixSquareToneChannelData *)s->data.s_pointer;
+  for (s = squaretone->channels; s; s = s->next) {
+    sqch = (RemixSquareToneChannel *)s->data.s_pointer;
     sqch->_cycle_offset = cycle_offset;
   }