Hello community, here is the log from the commit of package cecilia for openSUSE:Factory checked in at 2019-11-18 20:10:46 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/cecilia (Old) and /work/SRC/openSUSE:Factory/.cecilia.new.26869 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cecilia" Mon Nov 18 20:10:46 2019 rev:17 rq:749203 version:5.3.5 Changes: -------- --- /work/SRC/openSUSE:Factory/cecilia/cecilia.changes 2011-09-23 01:53:18.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.cecilia.new.26869/cecilia.changes 2019-11-18 20:11:00.809572958 +0100 @@ -1,0 +2,122 @@ +Sat Nov 16 12:48:45 UTC 2019 - Luigi Baldoni <[email protected]> + +- Software entirely rewritten in python + version 5.3.5: + * Upgraded to python version 3.6.4, wxPython-4.0.1 and pyo + 0.9.0. + * Better error handling when loading or running a cecilia5 + module. + version 5.3.4: + * Upgraded to python version 3.6.3, wxPython-4.0.0b2 and pyo + 0.8.8. + * Fixed preferences path encoding on Windows. + * Fixed unicode paths on MacOS when running as an application. + version 5.3.3: + * Upgraded to python version 3.6.2, wxPython-4.0.0b1 and pyo + 0.8.7. + version 5.3.2: + * Build against wxPython-4.0.0a2. + version 5.3.1: + * Better handling of non-ascii characters in preferences file. + * Fixed standalone packaging on OSX. + * Fixed curved line not showing on module initialization. + * UltimateGrainer now allows a grain duration up to 10 seconds. + version 5.3.0: + * Migration of the application code to python3 and wxpython + 3.0.3 (phoenix) completed. + * Source code cleanup (refactoring, removed dead and/or + duplicated code). + * Lot of fixed bugs. + * Automatic saving of the module after creating or deleting a + preset. + * Warning to save on quit. + * The app now opens with the last used module (instead of the + random chooser). + * Revisited tooltip and html documentation. + * On Windows, default preferences for input/output devices + should be set to WASAPI devices. + * Added ChenLee attractor to the ChaosMod plugin. + * Added various modulation waveforms to BinModulator.c5 + * All modules have been tested and cleaned. + New modules: + * UltimateGrainer - A state-of-the-art granulation processing + module. + * RandomAccumulator - Variable speed recording accumulator + module. + * UpDistoRes - Arctangent distortion module with upsampling + and resonant lowpass filter. + version 5.0.8: + * Record button now records in realtime (offline rendering is + now triggered with Menubar->Action->Bounce to Disk. + * User can set the starting point by moving the cursor above + the grapher. + * Drag and Drop file or folder on the input sound popup to + loads sounds. + * Right-click on sound popup opens a "Recent audio files" + popup. + * Sliders can be controlled with MIDI or Open Sound Control + messages. + * When moving a point on the graph, Alt key clipped the + position on the horizontal axis while Shift-Alt keys clipped the + position on the vertical axis. + * Added two batch processing modes. Either every presets + applied on the selected sound, or the current preset applied to + every sounds in the folder. + * Midi notes are automatically assigned to the sampler + transposition and controller 7 to the master gain. Must be + activated in the preferences. + version 5.0.7: + * Disabled duration slider while playing. + * Fixed segmentation fault on preset changes. + * Added a DropFileTarget on the Grapher (for .c5 or .py files). + * Fixed opening soundfile player/editor on Windows and OSX. + * Changed delay time before a popup close itself (when loosing + focus) from 500 ms to 1000 ms. + version 5.0.6: + * Fixed memory leak occuring on each run play/stop (need pyo + [revision + 974](https://code.google.com/p/cecilia5/source/detail?r=974)). + * Allow fraction notation in cgen (list entry in the + interface). + version 5.0.5: + * Disabled printing sound info for all sounds in the selected + folder. + * Added new filter module, Vocoder. (need pyo to be up-to-date + with sources). + * Fixed wrong executable path generated by py2app (OSX app). + * Removed Jack and Coreaudio from driver's list in bundled app + on OSX (leaved them when running from sources). + * Fixed bug: The red button doesn't turn off at the end of + recording. + * cgen ignores trailing coma in poup entry. + * Fixed bug: Do not quiery for the control panel if the + interface doesn't exist yet. + * Fixed bug in ListEntry widget when loading from a preset. + version 5.0.3: + * List in cgen popup window can now be entered as 'comma' or + 'space' separated values. + * Fixed number of channels used by the audio Server. + * Wait for the audio Server releasing soundcard's stream + before allowing to play again. + * Fixed saving .c5 file on Windows. + * Added 2 filter modules: BrickWall.c5 and BandBrickWall.c5. + version 5.0.2: + * Automatically save a preset named "last save" when saving a + module. On module loading, if "last save" preset exists, it is + activated. + * Fixed display of the Channels menu. + * Fixed bugs in sliders automation recording. + version 5.0.1: + * Fixed audio input/output selection. + * Fixed BaseModule.addSampler "pitch" argument. + version 5.0.0: + * First beta release. + +- Dropped cecilia-path-fix.dif and cecilia-CVE-2008-1832.patch + (they no longer apply to new codebase) + +- Added cecilia-setup.patch (courtesy of debian) + +- Spec cleanup + +------------------------------------------------------------------- Old: ---- cecilia-2.0.5.tar.bz2 cecilia-CVE-2008-1832.patch cecilia-path-fix.dif New: ---- Cecilia5_5.3.5-src.tar.bz2 cecilia-setup.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cecilia.spec ++++++ --- /var/tmp/diff_new_pack.RI4wIP/_old 2019-11-18 20:11:01.561572574 +0100 +++ /var/tmp/diff_new_pack.RI4wIP/_new 2019-11-18 20:11:01.565572572 +0100 @@ -1,7 +1,7 @@ # # spec file for package cecilia # -# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LLC. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,54 +12,68 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # - Name: cecilia -Summary: Tcl/Tk Front-End for Csound -Version: 2.0.5 -Release: 260 -License: GPL-2.0+ +Version: 5.3.5 +Release: 0 +Summary: Sound synthesis and audio signal processing environment +License: GPL-3.0-or-later Group: Productivity/Multimedia/Sound/Editors and Convertors -BuildRoot: %{_tmppath}/%{name}-%{version}-build -Url: http://cecilia.sf.net -Source: %{name}-%{version}.tar.bz2 -Patch: cecilia-path-fix.dif -Patch1: cecilia-CVE-2008-1832.patch -Requires: tk sox -Requires: csound > 3.47 +URL: http://ajaxsoundstudio.com/software/cecilia/ +Source: http://ajaxsoundstudio.com/downloads/Cecilia5_%{version}-src.tar.bz2 +#PATCH-FIX-OPENSUSE cecilia-setup.patch +Patch0: %{name}-setup.patch +BuildRequires: ImageMagick BuildRequires: fdupes +BuildRequires: hicolor-icon-theme +BuildRequires: python3 +BuildRequires: update-desktop-files +Requires: python3-numpy +Requires: python3-pyo >= 0.9.0 +Requires: python3-wxPython >= 4.0.1 BuildArch: noarch %description -Cecilia is a Tcl/Tk front-end for the Csound sound synthesis program. +Cecilia is a graphic user interface for the sound synthesis and sound +processing package CSound. Cecilia enables the user to build very +quickly graphic interfaces with sliders and curves to control CSound +instruments. It is also an editor to CSound with syntax highlighting +and a built-in reference. It is also a great tool to explore the parameters +of a new opcode in an interactive and intuitive way. + +Cecilia uses the pyo audio engine created for the Python programming language. + +Cecilia was designed by and for musicians and sound designers. All +the traditional sound processing devices are included such as EQs, +compressors and delays adapted for the most simple applications and +the wildest imaginable sonic contortions. %prep -%setup -q -%patch1 -# applay the following to install the files under /usr/share -# %patch +%setup -q -n Cecilia5_%{version}-src +%patch0 -p1 %build +%py3_build %install -mkdir -p $RPM_BUILD_ROOT%{_bindir} -mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/cecilia -install -c -m 0755 cecilia $RPM_BUILD_ROOT%{_bindir} -install -c -m 0755 cecilia-tcl $RPM_BUILD_ROOT%{_bindir} -cp -r files $RPM_BUILD_ROOT%{_prefix}/lib/cecilia -cp -r lib $RPM_BUILD_ROOT%{_prefix}/lib/cecilia -(cd $RPM_BUILD_ROOT%{_prefix}/lib/cecilia; - find . -name CVS | xargs rm -rf) -%fdupes -s $RPM_BUILD_ROOT/%_mandir -%fdupes $RPM_BUILD_ROOT +%py3_install +for s in 16 32 48 64 96 128 192 256 512; do + mkdir -pv %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps + convert -resize ${s} scripts/Cecilia5_512.png %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps/%{name}.png +done +mv %{buildroot}%{_bindir}/Cecilia5.py %{buildroot}%{_bindir}/%{name} +%suse_update_desktop_file -c %{name} %{name} "Sound synthesis and audio signal processing environment" %{name} %{name} "Audio;AudioVideoEditing;" +%fdupes %{buildroot}%{python3_sitelib} %files -%defattr(-, root, root) -%doc COPYING README TODO -%{_bindir}/* -%{_prefix}/lib/* +%doc README.rst whatsnew.md +%{_bindir}/%{name} +%{_datadir}/applications/%{name}.desktop +%{_datadir}/icons/hicolor/*/apps/%{name}.png +%{python3_sitelib}/%{name} +%{python3_sitelib}/%{name}-%{version}-py%{python3_version}.egg-info %changelog ++++++ cecilia-setup.patch ++++++ Description: creates a setup.py Upstream doesn't provide a setup.py for linux systems Author: Tiago Bortoletto Vaz <[email protected]> Last-Update: 2018-07-31 Index: Cecilia5_5.3.5-src/Cecilia5.py =================================================================== --- Cecilia5_5.3.5-src.orig/Cecilia5.py +++ Cecilia5_5.3.5-src/Cecilia5.py @@ -21,11 +21,10 @@ along with Cecilia 5. If not, see <http """ import os, sys, random import wx -from Resources.constants import * -from Resources import audio, CeciliaMainFrame -from Resources.splash import CeciliaSplashScreen -import Resources.CeciliaLib as CeciliaLib - +from cecilia.Resources.constants import * +from cecilia.Resources import audio, CeciliaMainFrame +import cecilia.Resources.CeciliaLib as CeciliaLib +from cecilia.Resources.splash import CeciliaSplashScreen class CeciliaApp(wx.App): def __init__(self, *args, **kwargs): Index: Cecilia5_5.3.5-src/Resources/CeciliaInterface.py =================================================================== --- Cecilia5_5.3.5-src.orig/Resources/CeciliaInterface.py +++ Cecilia5_5.3.5-src/Resources/CeciliaInterface.py @@ -20,9 +20,9 @@ along with Cecilia 5. If not, see <http """ import wx -import Resources.CeciliaLib as CeciliaLib -import Resources.Control as Control -import Resources.Preset as Preset +from cecilia.Resources import CeciliaLib +from cecilia.Resources import Control +from cecilia.Resources import Preset from .constants import * from .Sliders import buildHorizontalSlidersBox from .Grapher import getGrapher, buildGrapher @@ -171,4 +171,4 @@ class CeciliaInterface(wx.Frame): self.grapher.plotter.onSelectAll() def updateNchnls(self): - self.controlPanel.updateNchnls() \ No newline at end of file + self.controlPanel.updateNchnls() Index: Cecilia5_5.3.5-src/Resources/CeciliaLib.py =================================================================== --- Cecilia5_5.3.5-src.orig/Resources/CeciliaLib.py +++ Cecilia5_5.3.5-src/Resources/CeciliaLib.py @@ -24,7 +24,7 @@ import unicodedata from subprocess import Popen from .constants import * from .API_interface import * -import Resources.Variables as vars +from cecilia.Resources import Variables as vars import wx.lib.agw.supertooltip as STT if sys.version_info[0] < 3: Index: Cecilia5_5.3.5-src/Resources/CeciliaMainFrame.py =================================================================== --- Cecilia5_5.3.5-src.orig/Resources/CeciliaMainFrame.py +++ Cecilia5_5.3.5-src/Resources/CeciliaMainFrame.py @@ -21,9 +21,9 @@ along with Cecilia 5. If not, see <http import os, time, random import wx from .constants import * -import Resources.CeciliaLib as CeciliaLib -import Resources.PreferencePanel as PreferencePanel -import Resources.CeciliaInterface as CeciliaInterface +from cecilia.Resources import CeciliaLib +from cecilia.Resources import PreferencePanel +from cecilia.Resources import CeciliaInterface from .menubar import InterfaceMenuBar from .Widgets import * from .DocFrame import ManualFrame Index: Cecilia5_5.3.5-src/Resources/CeciliaPlot.py =================================================================== --- Cecilia5_5.3.5-src.orig/Resources/CeciliaPlot.py +++ Cecilia5_5.3.5-src/Resources/CeciliaPlot.py @@ -90,7 +90,7 @@ Zooming controls with mouse (when enable """ import wx -import Resources.CeciliaLib as CeciliaLib +from cecilia.Resources import CeciliaLib from .constants import * try: Index: Cecilia5_5.3.5-src/Resources/Control.py =================================================================== --- Cecilia5_5.3.5-src.orig/Resources/Control.py +++ Cecilia5_5.3.5-src/Resources/Control.py @@ -20,7 +20,7 @@ along with Cecilia 5. If not, see <http import wx, os, math, copy import wx.lib.scrolledpanel as scrolled -import Resources.CeciliaLib as CeciliaLib +from cecilia.Resources import CeciliaLib from .constants import * from .Widgets import * from .TogglePopup import SamplerPopup, SamplerToggle Index: Cecilia5_5.3.5-src/Resources/DocFrame.py =================================================================== --- Cecilia5_5.3.5-src.orig/Resources/DocFrame.py +++ Cecilia5_5.3.5-src/Resources/DocFrame.py @@ -1,11 +1,10 @@ -#!/usr/bin/env python # encoding: utf-8 import os, keyword, shutil import wx import wx.stc as stc from .constants import * from .API_interface import * -import Resources.CeciliaLib as CeciliaLib +from cecilia.Resources import CeciliaLib _INTRO_TEXT = """ "Cecilia5 API Documentation" @@ -1111,4 +1110,4 @@ class ManualFrame(wx.Frame): if search != "": self.search.SetValue("") self.doc_panel.getPage("Intro") - self.doc_panel.collapseAll() \ No newline at end of file + self.doc_panel.collapseAll() Index: Cecilia5_5.3.5-src/Resources/Grapher.py =================================================================== --- Cecilia5_5.3.5-src.orig/Resources/Grapher.py +++ Cecilia5_5.3.5-src/Resources/Grapher.py @@ -21,8 +21,8 @@ along with Cecilia 5. If not, see <http import wx, random, bisect, math, copy from wx.lib.stattext import GenStaticText from pyo import reducePoints, distanceToSegment, linToCosCurve -import Resources.CeciliaPlot as plot -import Resources.CeciliaLib as CeciliaLib +from cecilia.Resources import CeciliaPlot as plot +from cecilia.Resources import CeciliaLib from .constants import * from .Grapher_parser import * from .Widgets import * Index: Cecilia5_5.3.5-src/Resources/Plugins.py =================================================================== --- Cecilia5_5.3.5-src.orig/Resources/Plugins.py +++ Cecilia5_5.3.5-src/Resources/Plugins.py @@ -19,7 +19,7 @@ along with Cecilia 5. If not, see <http """ import wx, math -import Resources.CeciliaLib as CeciliaLib +from cecilia.Resources import CeciliaLib from .constants import * from .Widgets import * Index: Cecilia5_5.3.5-src/Resources/PreferencePanel.py =================================================================== --- Cecilia5_5.3.5-src.orig/Resources/PreferencePanel.py +++ Cecilia5_5.3.5-src/Resources/PreferencePanel.py @@ -19,7 +19,7 @@ along with Cecilia 5. If not, see <http """ import wx, os, sys -import Resources.CeciliaLib as CeciliaLib +from cecilia.Resources import CeciliaLib from .constants import * from .Widgets import * Index: Cecilia5_5.3.5-src/Resources/Preset.py =================================================================== --- Cecilia5_5.3.5-src.orig/Resources/Preset.py +++ Cecilia5_5.3.5-src/Resources/Preset.py @@ -19,7 +19,7 @@ along with Cecilia 5. If not, see <http """ import wx -import Resources.CeciliaLib as CeciliaLib +from cecilia.Resources import CeciliaLib from .constants import * from .Widgets import * Index: Cecilia5_5.3.5-src/Resources/Sliders.py =================================================================== --- Cecilia5_5.3.5-src.orig/Resources/Sliders.py +++ Cecilia5_5.3.5-src/Resources/Sliders.py @@ -19,7 +19,7 @@ along with Cecilia 5. If not, see <http """ import wx, math -import Resources.CeciliaLib as CeciliaLib +from cecilia.Resources import CeciliaLib from .constants import * from .Widgets import * Index: Cecilia5_5.3.5-src/Resources/TogglePopup.py =================================================================== --- Cecilia5_5.3.5-src.orig/Resources/TogglePopup.py +++ Cecilia5_5.3.5-src/Resources/TogglePopup.py @@ -20,7 +20,7 @@ from __future__ import division import wx, random from .Widgets import Label, CustomMenu, Toggle, Button, ListEntry from .constants import * -import Resources.CeciliaLib as CeciliaLib +from cecilia.Resources import CeciliaLib class CECPopup: def __init__(self, parent, label, values, init, rate, name, colour, tooltip=True, output=True): Index: Cecilia5_5.3.5-src/Resources/Widgets.py =================================================================== --- Cecilia5_5.3.5-src.orig/Resources/Widgets.py +++ Cecilia5_5.3.5-src/Resources/Widgets.py @@ -24,7 +24,7 @@ from pyo import PyoGuiSpectrum, rescale from pyolib._wxwidgets import ControlSlider, HRangeSlider from .constants import * from .Drunk import * -import Resources.CeciliaLib as CeciliaLib +from cecilia.Resources import CeciliaLib class MenuFrame(wx.Menu): def __init__(self, parent, choice): Index: Cecilia5_5.3.5-src/Resources/audio.py =================================================================== --- Cecilia5_5.3.5-src.orig/Resources/audio.py +++ Cecilia5_5.3.5-src/Resources/audio.py @@ -20,7 +20,7 @@ along with Cecilia 5. If not, see <http import wx import os, math, copy, time, traceback -import Resources.CeciliaLib as CeciliaLib +from cecilia.Resources import CeciliaLib from .constants import * from .API_interface import * @@ -2023,4 +2023,4 @@ class AudioServer(): print('not a file') if CeciliaLib.getVar("DEBUG"): print() - return soundDict \ No newline at end of file + return soundDict Index: Cecilia5_5.3.5-src/Resources/constants.py =================================================================== --- Cecilia5_5.3.5-src.orig/Resources/constants.py +++ Cecilia5_5.3.5-src/Resources/constants.py @@ -17,7 +17,7 @@ GNU General Public License for more deta You should have received a copy of the GNU General Public License along with Cecilia 5. If not, see <http://www.gnu.org/licenses/>. """ -import os, sys +import os, sys, cecilia from .images import * BUILD_RST = False @@ -42,7 +42,7 @@ if '/%s.app' % APP_NAME in os.getcwd(): RESOURCES_PATH = os.getcwd() os.environ["LANG"] = "en_CA.UTF-8" else: - RESOURCES_PATH = os.path.join(os.getcwd(), 'Resources') + RESOURCES_PATH = cecilia.Resources.__path__[0] if not os.path.isdir(RESOURCES_PATH) and sys.platform == "win32": RESOURCES_PATH = os.path.join(os.getenv("ProgramFiles"), "Cecilia5", "Resources") @@ -742,4 +742,4 @@ Choose a post-processing module. Parameters appear on the left buttons. Signal routing is from top to bottom. -""" \ No newline at end of file +""" Index: Cecilia5_5.3.5-src/Resources/menubar.py =================================================================== --- Cecilia5_5.3.5-src.orig/Resources/menubar.py +++ Cecilia5_5.3.5-src/Resources/menubar.py @@ -20,7 +20,7 @@ along with Cecilia 5. If not, see <http import wx, os from .constants import * -import Resources.CeciliaLib as CeciliaLib +from cecilia.Resources import CeciliaLib class InterfaceMenuBar(wx.MenuBar): def __init__(self, frame, mainFrame=None): Index: Cecilia5_5.3.5-src/Resources/splash.py =================================================================== --- Cecilia5_5.3.5-src.orig/Resources/splash.py +++ Cecilia5_5.3.5-src/Resources/splash.py @@ -1,8 +1,7 @@ -#!/usr/bin/env python # encoding: utf-8 import wx, sys, os -from .constants import * +from cecilia.Resources.constants import * def GetRoundBitmap(w, h, r): maskColour = wx.Colour(0, 0, 0) @@ -76,4 +75,4 @@ class CeciliaSplashScreen(wx.Frame): def OnClose(self): self.callback() - self.Destroy() \ No newline at end of file + self.Destroy() Index: Cecilia5_5.3.5-src/setup.py =================================================================== --- Cecilia5_5.3.5-src.orig/setup.py +++ Cecilia5_5.3.5-src/setup.py @@ -1,24 +1,20 @@ -""" -This is a setup.py script generated by py2applet +# -*- coding: utf-8 -*- -Usage: - python3.6 setup.py py2app -""" +import os +from distutils.core import setup -from setuptools import setup - -APP = ['Cecilia5.py'] -APP_NAME = 'Cecilia5' -DATA_FILES = ['Resources/'] -OPTIONS = {'argv_emulation': False, - #'strip': False, # only for debugging purposes. - 'iconfile': 'Resources/Cecilia5.icns', - 'includes': 'wx.adv,wx.html,wx.xml'} - -setup( - name=APP_NAME, - app=APP, - data_files=DATA_FILES, - options={'py2app': OPTIONS}, - setup_requires=['py2app'], -) +setup( name = "cecilia", + author = "Jean Piche, Olivier Belanger, Jean-Michel Dumas", + author_email = "[email protected]", + version = "5.3.5", + description = "Sound synthesis and audio signal processing environment", + url = "https://github.com/belangeo/cecilia5", + license = "GPLv3", + package_dir = { 'cecilia': '' }, + packages = ['cecilia.Resources'], + py_modules = ['cecilia.__init__'], #workaround to have Resources under cecilia dir + scripts = ['Cecilia5.py'], + package_data={ + 'cecilia.Resources': ['modules/*/*', 'Cecilia5.icns', 'Cecilia5.ico', 'CeciliaFileIcon5.icns', 'CeciliaFileIcon5.ico', 'Cecilia_splash.png'], + } + ) Index: Cecilia5_5.3.5-src/Resources/API_interface.py =================================================================== --- Cecilia5_5.3.5-src.orig/Resources/API_interface.py +++ Cecilia5_5.3.5-src/Resources/API_interface.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python # encoding: utf-8 """ Copyright 2011 iACT, Universite de Montreal, Index: Cecilia5_5.3.5-src/Resources/Grapher_parser.py =================================================================== --- Cecilia5_5.3.5-src.orig/Resources/Grapher_parser.py +++ Cecilia5_5.3.5-src/Resources/Grapher_parser.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python # encoding: utf-8 """ Grapher's line parser.
