diff options
Diffstat (limited to 'tde-i18n-fr/docs/tdemultimedia/artsbuilder')
19 files changed, 7394 insertions, 0 deletions
diff --git a/tde-i18n-fr/docs/tdemultimedia/artsbuilder/Makefile.am b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/Makefile.am new file mode 100644 index 00000000000..b6361414814 --- /dev/null +++ b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/Makefile.am @@ -0,0 +1,4 @@ +KDE_LANG = fr +SUBDIRS = $(AUTODIRS) +KDE_DOCS = AUTO +KDE_MANS = AUTO diff --git a/tde-i18n-fr/docs/tdemultimedia/artsbuilder/Makefile.in b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/Makefile.in new file mode 100644 index 00000000000..94efcb86dd8 --- /dev/null +++ b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/Makefile.in @@ -0,0 +1,613 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# KDE tags expanded automatically by am_edit - $Revision: 483858 $ +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +subdir = docs/tdemultimedia/artsbuilder +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +#>- RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ +#>- html-recursive info-recursive install-data-recursive \ +#>- install-dvi-recursive install-exec-recursive \ +#>- install-html-recursive install-info-recursive \ +#>- install-pdf-recursive install-ps-recursive install-recursive \ +#>- installcheck-recursive installdirs-recursive pdf-recursive \ +#>- ps-recursive uninstall-recursive +#>+ 7 +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive nmcheck-recursive bcheck-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +#>+ 1 +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +ARTSCCONFIG = @ARTSCCONFIG@ +AUTOCONF = @AUTOCONF@ +AUTODIRS = @AUTODIRS@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CONF_FILES = @CONF_FILES@ +CYGPATH_W = @CYGPATH_W@ +DCOPIDL = @DCOPIDL@ +DCOPIDL2CPP = @DCOPIDL2CPP@ +DCOPIDLNG = @DCOPIDLNG@ +DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@ +DEFS = @DEFS@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +GMSGFMT = @GMSGFMT@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KCFG_DEPENDENCIES = @KCFG_DEPENDENCIES@ +KCONFIG_COMPILER = @KCONFIG_COMPILER@ +KDECONFIG = @KDECONFIG@ +KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@ +KDE_RPATH = @KDE_RPATH@ +KDE_XSL_STYLESHEET = @KDE_XSL_STYLESHEET@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MAKEKDEWIDGETS = @MAKEKDEWIDGETS@ +MCOPIDL = @MCOPIDL@ +MEINPROC = @MEINPROC@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +TOPSUBDIRS = @TOPSUBDIRS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XMLLINT = @XMLLINT@ +X_RPATH = @X_RPATH@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +am__leading_dot = @am__leading_dot@ +am__tar = @am__tar@ +am__untar = @am__untar@ +#>- bindir = @bindir@ +#>+ 2 +DEPDIR = .deps +bindir = @bindir@ +build_alias = @build_alias@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host_alias = @host_alias@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +kde_appsdir = @kde_appsdir@ +kde_bindir = @kde_bindir@ +kde_confdir = @kde_confdir@ +kde_datadir = @kde_datadir@ +kde_htmldir = @kde_htmldir@ +kde_icondir = @kde_icondir@ +kde_kcfgdir = @kde_kcfgdir@ +kde_libs_htmldir = @kde_libs_htmldir@ +kde_libs_prefix = @kde_libs_prefix@ +kde_locale = @kde_locale@ +kde_mimedir = @kde_mimedir@ +kde_moduledir = @kde_moduledir@ +kde_servicesdir = @kde_servicesdir@ +kde_servicetypesdir = @kde_servicetypesdir@ +kde_sounddir = @kde_sounddir@ +kde_styledir = @kde_styledir@ +kde_templatesdir = @kde_templatesdir@ +kde_wallpaperdir = @kde_wallpaperdir@ +kde_widgetdir = @kde_widgetdir@ +tdeinitdir = @tdeinitdir@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xdg_appsdir = @xdg_appsdir@ +xdg_directorydir = @xdg_directorydir@ +xdg_menudir = @xdg_menudir@ +KDE_LANG = fr +#>- SUBDIRS = $(AUTODIRS) +#>+ 1 +SUBDIRS =. images +KDE_DOCS = AUTO +KDE_MANS = AUTO +#>- all: all-recursive +#>+ 1 +all: docs-am all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) +#>- @for dep in $?; do \ +#>- case '$(am__configure_deps)' in \ +#>- *$$dep*) \ +#>- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ +#>- && exit 0; \ +#>- exit 1;; \ +#>- esac; \ +#>- done; \ +#>- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/tdemultimedia/artsbuilder/Makefile'; \ +#>- cd $(top_srcdir) && \ +#>- $(AUTOMAKE) --gnu docs/tdemultimedia/artsbuilder/Makefile +#>+ 12 + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/tdemultimedia/artsbuilder/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu docs/tdemultimedia/artsbuilder/Makefile + cd $(top_srcdir) && perl ../scripts/admin/am_edit -p../scripts/admin docs/tdemultimedia/artsbuilder/Makefile.in +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +$(RECURSIVE_CLEAN_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +#>- distdir: $(DISTFILES) +#>+ 1 +distdir: distdir-nls $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +#>- uninstall: uninstall-recursive +#>+ 1 +uninstall: uninstall-nls uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +#>- clean: clean-recursive +#>+ 1 +clean: kde-rpo-clean clean-recursive + +#>- clean-am: clean-generic mostlyclean-am +#>+ 1 +clean-am: clean-bcheck clean-generic mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +#>- install-data-am: +#>+ 1 +install-data-am: install-nls + +install-dvi: install-dvi-recursive + +install-exec-am: + +install-html: install-html-recursive + +install-info: install-info-recursive + +install-man: + +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip + +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am clean clean-generic ctags \ + ctags-recursive distclean distclean-generic distclean-tags \ + distdir dvi dvi-am html html-am info info-am install \ + install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \ + tags-recursive uninstall uninstall-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: + +#>+ 2 +KDE_DIST=arts-structure.png porting.docbook glossary.docbook helping.docbook artsbuilder.docbook midiintro.docbook modules.docbook gui.docbook faq.docbook midi.docbook tools.docbook Makefile.in digitalaudio.docbook references.docbook apis.docbook Makefile.am + +#>+ 2 +docs-am: arts-structure.png glossary.docbook porting.docbook apis.docbook gui.docbook references.docbook artsbuilder.docbook digitalaudio.docbook faq.docbook modules.docbook tools.docbook midi.docbook helping.docbook midiintro.docbook + +#>+ 13 +install-nls: + $(mkinstalldirs) $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/artsbuilder + @for base in arts-structure.png glossary.docbook porting.docbook apis.docbook gui.docbook references.docbook artsbuilder.docbook digitalaudio.docbook faq.docbook modules.docbook tools.docbook midi.docbook helping.docbook midiintro.docbook ; do \ + echo $(INSTALL_DATA) $$base $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/artsbuilder/$$base ;\ + $(INSTALL_DATA) $(srcdir)/$$base $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/artsbuilder/$$base ;\ + done + +uninstall-nls: + for base in arts-structure.png glossary.docbook porting.docbook apis.docbook gui.docbook references.docbook artsbuilder.docbook digitalaudio.docbook faq.docbook modules.docbook tools.docbook midi.docbook helping.docbook midiintro.docbook ; do \ + rm -f $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/artsbuilder/$$base ;\ + done + + +#>+ 5 +distdir-nls: + for file in arts-structure.png glossary.docbook porting.docbook apis.docbook gui.docbook references.docbook artsbuilder.docbook digitalaudio.docbook faq.docbook modules.docbook tools.docbook midi.docbook helping.docbook midiintro.docbook ; do \ + cp $(srcdir)/$$file $(distdir); \ + done + +#>+ 15 +force-reedit: + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/tdemultimedia/artsbuilder/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu docs/tdemultimedia/artsbuilder/Makefile + cd $(top_srcdir) && perl ../scripts/admin/am_edit -p../scripts/admin docs/tdemultimedia/artsbuilder/Makefile.in + + +#>+ 21 +clean-bcheck: + rm -f *.bchecktest.cc *.bchecktest.cc.class a.out + +bcheck: bcheck-recursive + +bcheck-am: + @for i in ; do \ + if test $(srcdir)/$$i -nt $$i.bchecktest.cc; then \ + echo "int main() {return 0;}" > $$i.bchecktest.cc ; \ + echo "#include \"$$i\"" >> $$i.bchecktest.cc ; \ + echo "$$i"; \ + if ! $(CXX) $(DEFS) -I. -I$(srcdir) -I$(top_builddir) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) --dump-class-hierarchy -c $$i.bchecktest.cc; then \ + rm -f $$i.bchecktest.cc; exit 1; \ + fi ; \ + echo "" >> $$i.bchecktest.cc.class; \ + perl $(top_srcdir)/admin/bcheck.pl $$i.bchecktest.cc.class || { rm -f $$i.bchecktest.cc; exit 1; }; \ + rm -f a.out; \ + fi ; \ + done + + +#>+ 3 +final: + $(MAKE) all-am + +#>+ 3 +final-install: + $(MAKE) install-am + +#>+ 3 +no-final: + $(MAKE) all-am + +#>+ 3 +no-final-install: + $(MAKE) install-am + +#>+ 3 +kde-rpo-clean: + -rm -f *.rpo + +#>+ 3 +nmcheck: +nmcheck-am: nmcheck diff --git a/tde-i18n-fr/docs/tdemultimedia/artsbuilder/apis.docbook b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/apis.docbook new file mode 100644 index 00000000000..0c4960ee89f --- /dev/null +++ b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/apis.docbook @@ -0,0 +1,438 @@ +<!-- <?xml version="1.0" ?> +<!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd"> +To validate or process this file as a standalone document, uncomment +this prolog. Be sure to comment it out again when you are done --> + +<chapter id="arts-apis"> +<title +>Interface de programmation d'application (API) de &arts;</title> + +<sect1 id="api-overview"> +<title +>Aperçu</title> +<para +>aRts n'est pas seulement un logiciel, il fournit également tout un tas d'API pour tout un tas d'applications. Dans cette section, j'essaierai de dessiner les «grandes lignes», un brèf coup d'oeil ce que ces API sont supposées faire, et la façon dont elles interagissent. </para> + +<para +>Il y a une distinction importante à faire, la plupart des API sont <emphasis +>indépendantes du langage et de l'endroit</emphasis +> car elles sont spécifiées en tant que <emphasis +>mcopidl</emphasis +>. C'est-à-dire que vous pouvez utiliser les services qu'elles offrent avec n'importe quel langage, les implémenter dans n'importe quel langage, et vous n'aurez pas à vous préoccuper de savoir si vous vous adressez à des objets locaux ou distants. Voici tout d'abord une liste de ces API : </para> + + +<variablelist> +<varlistentry> +<term +>core.idl</term> + <listitem +><para +>Définitions de base qui forment le coeur des fonctionnalités de MCOP, comme le protocole lui-même, les définitions des objets, le <quote +>trader</quote +>, le système de flux &etc; </para +></listitem> + +</varlistentry> + +<varlistentry> +<term +>artsflow.idl</term> + + <listitem +><para +>Il contient le système de flux que vous utiliserez pour connecter des flux audio, la définition de <emphasis +>Arts::SynthModule</emphasis +> qui est la basse de toute interface qui possède un flux, et enfin quelques objets audio utiles. </para +></listitem> + +</varlistentry> + +<varlistentry> +<term +>kmedia2.idl</term> + + + <listitem +><para +>Ici, un objet qui peut lire un média, <emphasis +>Arts::PlayObject</emphasis +> est défini. Des lecteurs multimédia comme le lecteur de KDE noatun seront capables de lire n'importe quel média pour lequel un PlayObject peut être trouvé. Il est donc pertinent d'implémenter des PlayObject pour divers formats (comme mp3, vidéo mpg, midi, wav &etc;) à la base, et il y en a déjà beaucoup. </para +></listitem> + +</varlistentry> + +<varlistentry> +<term +>soundserver.idl</term> + + <listitem +><para +>Une interface pour le serveur sonore artsd est défini. L'interface est appelée <emphasis +>Arts::SoundServer</emphasis +>, qui implémente des fonctionnalités comme accepter des flux depuis le réseau, jouer des échantillons, créer des objets personnalisés non aRts &etc; La transparence réseau est implicite grâce à l'utilisation de MCOP (comme pour tout ici). </para +></listitem> + +</varlistentry> + +<varlistentry> +<term +>artsbuilder.idl</term> + <listitem +><para +>Ce module défini les fonctionnalités graphiques des flux, c'est-à-dire, la combinaison d'objets simples avec des objets plus complexes, en définissant un graph de ceux-ci. Il défini l'interface de base <emphasis +>Arts::StructureDesc</emphasis +>, <emphasis +>Arts::ModuleDesc</emphasis +> et <emphasis +>Arts::PortDesc</emphasis +> qui contient une description d'une structure, d'un module et d'un port. Il y a également une façon d'obtenir un réseau d'objets vivants sur ces descriptions de connexions et valeurs, en utilisant un factory. </para +></listitem> + +</varlistentry> + +<varlistentry> +<term +>artsmidi.idl</term> + + <listitem +><para +>Ce module défini les fonctionnalités midi de base, comme les objets qui produisent des événements midi, ce qu'est un événement midi, un <emphasis +>Arts::MidiManager</emphasis +> pour connecter le producteur et le consommateur d'événements midi, &etc; Comme d'habitude, la transparence réseau est gérée. </para +></listitem> + +</varlistentry> + +<varlistentry> +<term +>artsmodules.idl</term> + <listitem +><para +>Ici se trouvent divers filtres supplémentaires, oscilateurs, effets, délais &etc;, tous utiles pour un traitement du signal efficace, et pour construire des instruments complexes et des effets à partir de ces blocs de construction de base. </para +></listitem> + +</varlistentry> + +<varlistentry> +<term +>artsgui.idl</term> + + <listitem +><para +>Ceci s'occupe des objets visuels. Il définit le type de base <emphasis +> Arts::Widget</emphasis +> à partir duquel tous les modules de l'interface graphique dérivent. La boîte à outils sera donc indépendante, et nous aurons une édition visuelle de l'interface graphique ainsi que des interfaces graphiques sérialisables. Comme les éléments de l'interface ont des attributs normaux, leurs valeurs peuvent être connectées directement à des modules de traitement du signal (&cad; la valeur d'une glissière à la fréquence de coupure d'un filtre). Comme d'habitude, tout ceci avec la transparence réseau. </para +></listitem> + +</varlistentry> + +</variablelist> +<para +>Lorsque c'est possible, aRts lui-même implémente en utilisant IDL. D'un autre côté, il y a quelques API <emphasis +>spécifiques au langage</emphasis +>, en utilisant soit du C++ pur ou du C pur. Il est souvent sage d'utiliser des interfaces IDL lorsque c'est possible, et les autres API lorsque c'est nécessaire. Voici une liste des API spécifiques au langage : </para> + +<variablelist> + +<varlistentry> +<term +>KNotify, KAudioPlayer (inclus dans libtdecore)</term> + + <listitem +><para +>Il y a des API KDE pratiques pour les cas simples et courants, où vous voulez juste jouer un échantillon. Les API sont en C++ pur, optimisés pour Qt/KDE, et aussi simples que possibles. </para +></listitem> + +</varlistentry> + +<varlistentry> +<term +>libartsc</term> + <listitem +><para +>Interface en C pur pour le serveur sonore. Très utile pour porter des applications héritées </para +></listitem> + +</varlistentry> + +<varlistentry> +<term +>libmcop</term> + + <listitem +><para +>Ici, toute la magie de MCOP se produit. La librairie contient des choses de base que vous avez besoin de connaître pour écrire des applications MCOP simples, les répartisseurs (<foreignphrase +>dispatcher</foreignphrase +>), les temporisateurs, gestionnaires d'entrée/sortie, mais aussi les choses internes pour faire fonctionner le protocole MCOP lui-même. </para +></listitem> + +</varlistentry> + +<varlistentry> +<term +>libartsflow</term> + <listitem +><para +>En plus de l'implémentation de artsflow.idl, des outils utiles comme la conversion du taux d'échantillonnage. </para +></listitem> + +</varlistentry> + +<varlistentry> +<term +>libqiomanager</term> + + <listitem +><para +>Intégration de MCOP dans la boucle d'événement Qt, lorsque vous écrivez des applications Qt utilisant MCOP. </para +></listitem> + +</varlistentry> + +</variablelist> + + + +</sect1> +<sect1 id="knotify"> +<title +>knotify</title> +<para +>Pas encore rédigé </para> +</sect1> + +<sect1 id="kaudioplayer"> +<title +>kaudioplayer</title> +<para +>Pas encore rédigé </para> +</sect1> + +<sect1 id="libkmid"> +<title +>libkmid</title> +<para +>Pas encore rédigé </para> +</sect1> + +<sect1 id="kmedia2"> +<title +>kmedia2</title> +<para +>Pas encore rédigé </para> +</sect1> + +<sect1 id="soundserver"> +<title +>serveur sonore</title> +<para +>Pas encore rédigé </para> +</sect1> + +<sect1 id="artsflow"> +<title +>artsflow</title> +<para +>Pas encore rédigé </para> +</sect1> + +<sect1 id="capi"> +<title +><acronym +>API</acronym +> C</title> + +<sect2 id="capiintro"> +<title +>Introduction</title> + +<para +>L'<acronym +>API</acronym +> C de &arts; a été conçue pour faciliter l'écriture et le port d'applications en C pur vers le serveur sonore &arts;. Elle fournit des fonctionnalités de gestion de flux (en envoyant les flux d'échantillons vers <application +>artsd</application +>), soit en bloquant ou en ne bloquant pas. Pour la plupart des applications, vous devez simplement enlever les quelques appels systèmes qui conversent avec votre matériel audio et les remplacer par les appels &arts; appropriés.</para> + +<para +>J'ai réalisé deux ports pour améliorer le concept : <application +>mpg123</application +> et <application +>quake</application +>. Vous pouvez obtenir ces correctifs depuis <ulink url="http://space.twc.de/~stefan/kde/download/artsc-patches.tar.gz" +>ici</ulink +>. N'hésitez pas à soumettre vos propres correctifs au mainteneur de &arts;, ou au mainteneur des paquetages de logiciels multimédia pour qu'ils puissent intégrer la gestion de &arts; dans leur code.</para> + +</sect2> + +<sect2 id="capiwalkthru"> +<title +>Aperçu rapide</title> + +<para +>Envoyer de l'audio au serveur sonore avec l'<acronym +>API</acronym +> est très simple :</para> +<procedure> +<step +><para +>ajoutez le fichier d'en-tête avec <userinput +>#include <artsc.h></userinput +></para +></step> +<step +><para +>initialisez l'<acronym +>API</acronym +> avec <function +>arts_init()</function +></para +></step> +<step +><para +>créez un flux avec <function +>arts_play_stream()</function +></para +></step> +<step +><para +>configurez les paramètres spécifiques avec <function +>arts_stream_set()</function +></para +></step> +<step +><para +>écrivez des données d'échantillons dans le flux avec <function +>arts_write()</function +></para +></step> +<step +><para +>fermez le flux avec <function +>arts_close_stream()</function +></para +></step> +<step +><para +>libérez la mémoire de l'<acronym +>API</acronym +> avec <function +>arts_free()</function +></para +></step> +</procedure> + +<para +>Voici un petit exemple de programme qui illustre ceci :</para> + +<programlisting +>#include <stdio.h> +#include <artsc.h> +int main() +{ + arts_stream_t stream; + char buffer[8192]; + int bytes; + int errorcode; + + errorcode = arts_init(); + if (errorcode < 0) + { + fprintf(stderr, "arts_init error: %s\n", arts_error_text(errorcode)); + return 1; + } + + stream = arts_play_stream(44100, 16, 2, "artsctest"); + + while((bytes = fread(buffer, 1, 8192, stdin)) > 0) + { + errorcode = arts_write(stream, buffer, bytes); + if(errorcode < 0) + { + fprintf(stderr, "arts_write error: %s\n", arts_error_text(errorcode)); + return 1; + } + } + + arts_close_stream(stream); + arts_free(); + + return 0; +} +</programlisting> +</sect2> + +<sect2 id="capiartscconfig"> +<title +>Compilation et édition de liens : <application +>artsc-config</application +></title> + +<para +>Pour compiler et lier facilement les programmes utilisant l'<acronym +>API</acronym +> C de &arts;, l'outil <application +>artsc-config</application +> connaît les librairies dont vous avez besoin pour lier et où se situent les fichiers d'en-tête. Vous pouvez appeler cet outil avec</para> + +<screen +><userinput +><command +>artsc-config</command +> <option +>--libs</option +></userinput +> +</screen> + +<para +>pour trouver les librairies et </para> + +<screen +><userinput +><command +>artsc-config</command +> <option +>--cflags</option +></userinput +> +</screen> + +<para +>pour trouver les drapeaux supplémentaires pour le compilateur C. L'exemple ci-dessus peut être compilé en utilisant la ligne de commande :</para> + +<screen +><userinput +><command +>cc</command +> <option +>-o artsctest artsctest.c `artsc-config --cflags` `artsc-config --libs`</option +></userinput> + +<userinput +><command +>cc</command +> <option +>-o artsctest</option +> <option +>artsctest.c</option +> <option +>`artsc-config --cflags`</option +> <option +>`artsc-config --libs`</option +></userinput +> +</screen> + +</sect2> + +<sect2 id="c-api-reference"> +<title +>Référence de la librairie</title> + +<para +>[A FAIRE : générer la documentation pour artsc.h en utilisant kdoc] </para> + +</sect2> + +</sect1> +</chapter> diff --git a/tde-i18n-fr/docs/tdemultimedia/artsbuilder/arts-structure.png b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/arts-structure.png Binary files differnew file mode 100644 index 00000000000..3e8f82d9501 --- /dev/null +++ b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/arts-structure.png diff --git a/tde-i18n-fr/docs/tdemultimedia/artsbuilder/artsbuilder.docbook b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/artsbuilder.docbook new file mode 100644 index 00000000000..8630a20fccf --- /dev/null +++ b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/artsbuilder.docbook @@ -0,0 +1,973 @@ +<chapter id="artsbuilder"> +<title +>&arts-builder;</title> + +<sect1 id="overview"> +<title +>Aperçu</title> + +<para +>Tout d'abord, avant de lancer &arts-builder;, vous devez aussi lancer le serveur de son (&artsd;). Habituellement, lorsque vous utilisez &kde; 2.1, &artsd; devrait déjà être en fonctionnement. Si ce n'est pas le cas, vous pouvez configurer le lancement automatique du serveur de son dans le ¢reConfiguration;, rubrique <menuchoice +><guilabel +>Son</guilabel +><guilabel +>Serveur de son</guilabel +> </menuchoice +>. </para> + +<para +>Lorsque vous exécutez &arts;, il lance toujours de petits modules. &arts-builder; est un outil pour créer de nouvelles structures composées de petits modules interconnectés. Vous placez simplement sur les modules dans la grille. Pour ce faire, choisissez-les dans le menu <guimenu +>Modules</guimenu +>, et cliquez quelque part dans la zone gris-vert. </para> + +<para +>Les modules ont généralement des ports (dans lesquels les flux audio transitent). Pour connecter deux ports, cliquez sur le premier, ce qui le rend orange, puis cliquez sur le second. Vous ne pouvez que connecter un port d'entrée (en haut du module) avec un port de sortie (en bas du module). Si vous voulez assigner une valeur constante à un port (ou le déconnecter), double-cliquez sur le port. </para> + +</sect1> + +<sect1 id="artsbuilder-tutorial"> +<title +>Tutoriel</title> + +<sect2 id="step-1"> +<title +>Étape 1</title> + +<para +>Démarrez &arts-builder;. </para> + +<para +>Vous avez besoin d'un module Synth_AMAN_PLAY pour entendre ce que vous créez. Créez alors un module Synth_AMAN_PLAY en sélectionnant <menuchoice +> <guimenu +>Modules</guimenu +> <guisubmenu +>Synthèse</guisubmenu +> <guisubmenu +>Entrée/Sortie son</guisubmenu +> <guisubmenu +>Synth_AMAN_PLAY</guisubmenu +> </menuchoice +> et cliquez sur l'espace libre réservé aux modules. Placez-le sous la cinquième ligne ou plus parce que nous ajouterons des choses au-dessus. </para> + +<para +>Le module aura un paramètre <parameter +>title</parameter +> (le port le plus à gauche), et <parameter +>autoRestoreID</parameter +> (à côté du port le plus à gauche) afin de le trouver. Pour remplir ces sorties, double-cliquez sur ces ports, sélectionnez valeur constante et saisissez <userinput +>tutorial</userinput +> dans la boîte d'édition. Cliquez sur <guibutton +>OK</guibutton +> pour appliquer vos changements. </para> + +<para +>Sélectionnez <menuchoice +><guimenu +>Fichier</guimenu +><guimenuitem +>Exécuter la structure</guimenuitem +> </menuchoice +> Vous n'entendrez absolument rien. Le module de lecture a besoin de quelque chose en entrée... Écoutez le silence pendant un moment, cliquez sur <guibutton +>OK</guibutton +> et passez à l'étape 2 </para> +</sect2> + +<sect2 id="step-2"> +<title +>Étape 2</title> + +<para +>Créez un module Synth_WAVE_SIN (depuis <menuchoice +> <guimenu +>Modules</guimenu +> <guimenuitem +>Synthèse</guimenuitem +> <guimenuitem +>Formes d'ondes</guimenuitem +> </menuchoice +>) et placez-le au-dessus du module Synth_AMAN_PLAY (laissez une ligne vide entre). </para> + +<para +>Comme vous pouvez le voir, il produit quelque chose en sortie, mais nécessite un paramètre <guilabel +>pos</guilabel +> (position) en entrée. Tout d'abord, relions la sortie aux haut-parleurs. Cliquez sur le port <guilabel +>out</guilabel +> (sortie) du module Synth_WAVE_SIN et ensuite sur le port <guilabel +>left</guilabel +> (gauche) du module Synth_AMAN_PLAY. Voilà, vous avez connecté deux modules. </para> + +<para +>Dans &arts;, les oscillateurs ne nécessitent pas une fréquence en entrée, mais une position dans l'échantillon. Cette position doit être comprise entre 0 et 1, ce qui correspond pour un objet Synth_WAVE_SIN standard à la plage 0..2*pi. Pour générer des valeurs d'oscillation à partir d'une fréquence, un module Synth_FREQUENCY est utilisé. </para> + +<para +>Créez un module Synth_FREQUENCY (depuis <menuchoice +> <guimenu +>Modules</guimenu +> <guimenu +>Synthèse</guimenu +> <guimenu +>Oscillateurs et modulation</guimenu +> </menuchoice +>) et connectez sa sortie <quote +>pos</quote +> à l'entrée <quote +>pos</quote +> de votre module Synth_WAVE_SIN. Spécifiez une valeur constante de 440 au port fréquence du générateur FREQUENCY. </para> + + +<para +>Cliquez sur <menuchoice +><guimenu +>Fichier</guimenu +><guimenuitem +>Exécuter la structure</guimenuitem +></menuchoice +>. Vous entendrez une onde sinusoïdale à 440 Hz sur l'un de vos haut-parleurs. Lorsque vous l'aurez écouté pendant un moment, cliquez sur <guibutton +>OK</guibutton +> et passez à l'étape 3. </para> + +</sect2> + +<sect2 id="step-3"> +<title +>Étape 3</title> + +<para +>OK, ce serait mieux si vous pouviez entendre une onde sinusoïdale sur les deux haut-parleurs. Connectez le port droit du module Synth_PLAY au port "outvalue" (valeur de sortie) du module Synth_WAVE_SIN. </para> + +<para +>Créez un objet Synth_SEQUENCE (depuis <menuchoice +> <guimenu +>Modules</guimenu +> <guisubmenu +>Synthèse </guisubmenu +><guisubmenu +>Midi + séquenceur</guisubmenu +> </menuchoice +>) Il devrait se trouver en haut de l'écran. Si vous avez besoin de plus de place, vous pouvez déplacer les autres modules en les sélectionnant (pour en sélectionner plusieurs, appuyez sur MAJ) et déplacez-les. </para> + +<para +>Maintenant, connectez la sortie "frequ" (fréquence) du module Synth_SEQUENCE à l'entrée "frequ" du module Synth_FREQUENCY. Spécifiez alors la valeur constante 0,13 pour la vitesse de la séquence (la vitesse est le port le plus à gauche). </para> + +<para +>Puis allez au port le plus à droite (sequence) du Synth_SEQUENCE et saisissez comme valeur constante <userinput +>A-3;C-4;E-4;C-4;</userinput +> ceci spécifie une séquence. Vous trouverez plus d'informations dans le manuel de référence des modules. </para> + +<note> +<para +>Remarque : Synth_SEQUENCE a <emphasis +>vraiment</emphasis +> besoin d'une séquence et d'une vitesse. Sans ces données, vous aurez certainement des fichiers core générés. </para> +</note> + +<para +>Sélectionnez <menuchoice +><guimenu +>Fichier</guimenu +><guimenuitem +>Exécuter la structure...</guimenuitem +></menuchoice +> Vous entendrez jouer une séquence sympathique. Si vous avez aimé, cliquez sur <guibutton +>OK</guibutton +> et passez à l'étape 4. </para> +</sect2> + +<sect2 id="step-4"> +<title +>Étape 4</title> + +<para +>Créez un module Synth_PSCALE (depuis <menuchoice +> <guimenu +>Modules</guimenu +> <guisubmenu +>Synthèse</guisubmenu +> <guisubmenu +>Enveloppes</guisubmenu +> </menuchoice +>). Déconnectez la sortie de l'onde sinusoïdale en double cliquant dessus et en choisissant <guilabel +>not connected</guilabel +> (non connecté). Connectez </para> + +<orderedlist +><listitem> +<para +>La sortie du SIN à l'entrée de PSCALE</para> +</listitem> +<listitem> +<para +>La sortie de PSCALE au AMAN_PLAY gauche</para> +</listitem> +<listitem> +<para +>La sortie de PSCALE au AMAN_PLAY droit</para> +</listitem> +<listitem> +<para +>Le <quote +>pos</quote +> de SEQUENCE au <quote +>pos</quote +> de PSCALE</para> +</listitem> +</orderedlist> + +<para +>Finalement, placez le port <quote +>top</quote +> de PSCALE à une certaine valeur, par exemple 0.1. </para> + +<para +>Voyons maintenant comment cela fonctionne : le module Synth_SEQUENCE donne une information supplémentaire sur la position de la note qu'il est en train de jouer, 0 signifie juste commencé et 1 signifie finie. Le module Synth_PSCALE va modifier l'amplitude du flux audio qui le traverse d'un volume 0 (silence) à un volume 1 (volume d'origine) puis de nouveau 0 (silence), d'après la position. La position où le pic doit apparaître peut être donné sur le port "pos". 0,1 signifie que lorsque 10% de la note ont été joués, le volume a atteint son maximum, et diminue ensuite. </para> + + +<para +>Sélectionnez <menuchoice +><guimenu +>Fichier</guimenu +><guimenuitem +>Exécuter la structure...</guimenuitem +></menuchoice +> Vous entendrez jouer une séquence sympathique. Si vous avez aimé, cliquez sur <guibutton +>OK</guibutton +> et passez à l'étape 5. </para> + +</sect2> + +<sect2 id="step-5-starting-to-beam-data-around"> +<title +>Étape 5 : début d'échange de données</title> + +<para +>Démarrez un autre &arts-builder;.</para> + +<para +>Placez un module Synth_AMAN_PLAY dedans, et donnez-lui un nom raisonnable. Insérez un module Synth_BUS_DOWNLINK et :</para> + +<orderedlist> +<listitem> +<para +>placez l'entrée bus de ce module à audio (c'est juste un nom, appelez-le Fred si ça vous fait plaisir). </para> +</listitem> +<listitem> +<para +>connectez la sortie <quote +>left</quote +> du module Synth_BUS_DOWNLINK à l'entrée <quote +>left</quote +> du module Synth_AMAN_PLAY </para> +</listitem> +<listitem> +<para +>connectez la sortie <quote +>right</quote +> du module Synth_BUS_DOWNLINK à l'entrée <quote +>right</quote +> du module Synth_AMAN_PLAY </para> +</listitem> +</orderedlist> + +<para +>Exécutez la structure. Comme on pouvait s'y attendre, on n'entend rien... pas encore. </para> + +<para +>Revenez à la structure avec le module Synth_WAVE_SIN et remplacez le module Synth_AMAN_PLAY par un module Synth_BUS_UPLINK, et configurez le nom à <quote +>audio</quote +> (ou à Fred si vous voulez). Pour effacer les modules, sélectionnez-les et cliquez sur <menuchoice +><guimenu +>Édition</guimenu +> <guimenuitem +>Supprimer</guimenuitem +></menuchoice +> dans le menu (ou appuyez sur la touche <keycap +>Suppr</keycap +>) </para> + +<para +>Cliquez sur <menuchoice +><guimenu +>File</guimenu +><guilabel +>Execute structure</guilabel +></menuchoice +>. Vous entendrez la séquence avec les notes dont le volume est modifié, transportées par le bus. </para> + +<para +>Si vous voulez vous rendre compte de l'intérêt réel d'une telle chose, cliquez sur <guibutton +>OK</guibutton +> (dans le &arts-builder; qui exécute le module Synth_SEQUENCE, vous pouvez laisser tourner l'autre) et passez à l'étape 6. </para> +</sect2> + +<sect2 id="step-6-beaming-for-advanced-users"> +<title +>Étape 6 : échange de données pour les utilisateurs avancés.</title> + +<para +>Sélectionnez <menuchoice +><guimenu +>Fichier</guimenu +><guimenuitem +>Renommer la structure</guimenuitem +></menuchoice +> dans le menu de artsbuilder qui contient le module Synth_SEQUENCE, et appelez-le tutoriel. Cliquez sur <guibutton +>OK</guibutton +>. </para> + +<para +>Choisissez <menuchoice +><guimenu +>Fichier</guimenu +> <guimenuitem +>Enregistrer...</guimenuitem +> </menuchoice +> </para> + +<para +>Démarrez encore un autre &arts-builder; et choisissez <menuchoice +><guimenu +>Fichier</guimenu +><guimenuitem +>Ouvrir...</guimenuitem +> </menuchoice +>, et rechargez le tutoriel. </para> + +<para +>Maintenant vous pouvez cliquer sur <menuchoice +><guimenu +>Fichier</guimenu +><guimenuitem +>Exécuter la structure</guimenuitem +> </menuchoice +> dans les deux &arts-builder; qui contiennent cette structure. Vous entendrez maintenant deux fois la même chose. Suivant l'instant auquel vous les avez démarrés, le son sera plus ou moins bon. </para> + +<para +>Une autre chose sympathique à faire à ce point est de démarrer &noatun;, et lire un <literal role="extension" +>mp3</literal +>. Démarrez &artscontrol;. Allez dans <menuchoice +><guimenu +>Affichage</guimenu +><guimenuitem +>voir le Gestionnaire audio</guimenuitem +></menuchoice +>. Vous verrez alors &noatun; et votre structure <quote +>tutoriel</quote +> jouant quelque chose. Double-cliquez sur &noatun;. Vous aurez alors une liste des bus disponibles. Vous pouvez dire à &noatun; d'envoyer sa sortie via le bus audio fourni par votre structure tutoriel. </para> +</sect2> + +<sect2 id="step-7-midi-synthesis"> +<title +>Étape 7 : Synthèse contrôlée par midi</title> + +<para +>Enfin, vous êtes maintenant en mesure de transformer votre onde sinusoïdale en instrument proprement dit. Ceci ne prend son sens que si vous avez quelque chose de bricolé qui puisse envoyer des événements &MIDI; vers &arts;. Je vais décrire maintenant comment vous pouvez utiliser des claviers externes, mais un séquenceur compatible avec les bus midi comme &brahms; fonctionnera aussi. </para> + +<para +>Tout d'abord, nettoyez votre bureau pour n'obtenir qu'un &arts-builder; contenant une structure d'onde sinusoïdale (pas en cours d'exécution). Ensuite, allez trois fois dans <menuchoice +><guimenu +>Ports</guimenu +><guisubmenu +>Créer un signal d'entrée audio (IN)</guisubmenu +></menuchoice +> et trois fois dans <menuchoice +><guimenu +>Ports</guimenu +><guisubmenu +>Créer un signal de sortie audio (OUT)</guisubmenu +></menuchoice +>. Placez les ports quelque part. </para> + +<para +>Finalement, allez dans <menuchoice +><guimenu +>Ports</guimenu +> <guilabel +>modifier les positions/noms</guilabel +></menuchoice +> et nommez les ports frequency (fréquence), velocity (vélocité ou force de frappe), pressed (enfoncé), left (gauche), right (droite), et done (terminé). </para> + +<para +>Enfin, vous pouvez supprimer le module Synth_SEQUENCE, et connecter plutôt le port d'entrée frequency au port frequency du module Synth_FREQUENCY. Hmm, et que faire de pos ?</para +> <para +>Nous n'en avons pas car il n'existe aucun algorithme au monde capable de prédire quand l'utilisateur va relâcher la note qu'il vient juste d'enfoncer sur le clavier midi. Donc à la place, il y a un paramètre <quote +>pressed</quote +> (pressé) qui indique juste si l'utilisateur maintient la touche enfoncée (pressed = 1 : touche maintenue enfoncée, pressed = 0 : touche relâchée). </para> + +<para +>Ceci signifie que l'objet Synth_PSCALE doit être remplacé maintenant. Connectez un module Synth_ENVELOPE_ADSR à la place (depuis <menuchoice +> <guimenu +>Modules</guimenu +> <guisubmenu +>Synthèse</guisubmenu +> <guisubmenu +>Enveloppes</guisubmenu +> </menuchoice +>). Connectez : </para> + +<orderedlist> +<listitem> +<para +>L'entrée <quote +>pressed</quote +> de la structure au port <quote +>active</quote +> de l'ADSR</para> +</listitem> +<listitem> +<para +>La sortie du SIN à l'entrée <quote +>invalue</quote +> de l'ADSR</para> +</listitem> +<listitem> +<para +>Le port <quote +>outvalue</quote +> à la sortie <quote +>left</quote +> de la structure</para> +</listitem +><listitem> +<para +>Le port <quote +>outvalue</quote +> de l'ADSR à la sortie <quote +>right</quote +> de la structure</para> +</listitem> +</orderedlist> + +<para +>Réglez les paramètres attack à 0.1, decay à 0.2 et release à 0.1. </para> + +<para +>Une autre chose à laquelle nous devons penser est que la structure de l'instrument, d'une manière ou d'une autre, doit maintenant savoir quand elle est prête à jouer, et alors elle doit se fermer, car sinon, ça ne s'arrêtera jamais, même si la note a été relâchée. Heureusement, l'enveloppe ADSR sait lorsqu'il n'y aura plus rien à entendre puisque de toutes façons, elle fixe le signal à zéro un certain temps après que la touche a été enfoncée. </para> + +<para +>Ceci est indiqué en passant la sortie <quote +>done</quote +> à 1. Connectez-le à la sortie <quote +>done</quote +> de la structure. Cela va fermer la structure dès que la sortie <quote +>done</quote +> passe à 1. </para> + +<para +>Renommez votre structure en instrument_tutorial (depuis <menuchoice +><guimenu +> Fichier</guimenu +> <guimenuitem +>Renommer la structure</guimenuitem +></menuchoice +>. Ensuite, enregistrez-la en utilisant enregistrer sous (le nom par défaut devrait être instrument_tutorial maintenant).</para +><para +>Démarrez artscontrol, et allez dans <menuchoice +><guimenu +>Affichage</guimenu +><guimenuitem +>Voir le Gestionnaire Midi </guimenuitem +></menuchoice +>, et choisissez <menuchoice +><guimenu +>Ajouter</guimenu +><guimenuitem +>Sortie Midi du synthétiseur aRts</guimenuitem +></menuchoice +>. Enfin, vous devriez pouvoir sélectionner votre instrument (tutoriel) ici. </para> + +<para +>Ouvrez un terminal et saisissez <userinput +><command +>midisend</command +></userinput +>. Vous verrez que <command +>midisend</command +> et l'instrument sont maintenant listés dans le gestionnaire &MIDI; de &arts;. Après avoir sélectionné les deux et avoir cliqué sur <guibutton +>Connecter</guibutton +>, nous avons enfin terminé. Prenez votre clavier et commencez à jouer (bien sûr, il doit être connecté à votre ordinateur). </para> +</sect2> + +<sect2 id="suggestions"> +<title +>Suggestions</title> + +<para +>Vous êtes maintenant capable de vous servir de &arts;. Voici quelques astuces que vous pouvez tester pour améliorer vos structures : </para> + +<itemizedlist> +<listitem> +<para +>Essayez d'utiliser d'autres choses que des ondes sinusoïdales. Si vous connectez une onde triangulaire, vous penserez probablement que le son n'est pas terrible. Mais essayez d'associer un filtre SHELVE_CUTOFF avec une onde triangulaire pour couper les fréquences supérieures à une certaine limite (essayez quelque chose comme 1000 Hz, ou encore mieux deux fois la fréquence d'entrée, ou la fréquence d'entrée + 200 Hz ou quelque chose comme ça). </para> +</listitem> +<listitem> +<para +>Essayez d'utiliser plusieurs oscillateurs. Le module Synth_XFADE peut être utilisé pour mixer les deux signaux, et Synth_ADD pour les additionner. </para> +</listitem> +<listitem> +<para +>Essayez de ne pas donner exactement les mêmes fréquences à tous les oscillateurs, ça donne des oscillations sympathiques (NdT effet de chorus). </para> +</listitem> +<listitem> +<para +>Essayez d'utiliser plusieurs enveloppes. </para> +</listitem> +<listitem> +<para +>Essayez de synthétiser des instruments avec des sorties différentes à gauche et à droite. </para> +</listitem> +<listitem> +<para +>Essayez un post-traitement du signal en sortie du downlink. Vous pouvez par exemple mixer une version retardée du signal avec l'original pour obtenir un effet d'écho. </para> +</listitem> +<listitem> +<para +>Essayez d'utiliser le réglage de la vélocité (c'est la force avec laquelle la touche a été frappée, vous pouvez aussi dire volume). L'effet est toujours intéressant lorsque la vélocité n'influe pas uniquement sur le volume du signal résultant, mais aussi sur le son de l'instrument (par exemple la fréquence de coupure). </para> +</listitem> +<listitem> +<para +>...</para> +</listitem> +</itemizedlist> + +<para +>Si vous avez créé quelque chose de bien, envoyez-le pour notre site web, ou pour l'inclure dans la prochaine version de &arts;. </para> +</sect2> + +</sect1> + +<sect1 id="artsbuilder-examples"> +<title +>Exemples</title> + +<para +>&arts-builder; est livré avec plusieurs exemples, qui peuvent être ouverts depuis <menuchoice +><guimenu +>Fichier</guimenu +><guimenuitem +>Ouvrir un exemple...</guimenuitem +></menuchoice +>. Certains sont dans le dossier alors ouvert, d'autres (qui pour diverses raisons ne fonctionnent pas avec la version actuelle) sont placés dans le dossier todo. </para> +<para +>Les exemples sont regroupés en plusieurs catégories : </para> + +<itemizedlist> +<listitem> +<para +>Des exemples autonomes illustrant comment utiliser les modules internes à arts (nommés <filename +>examples_*.arts</filename +>). Ces exemples envoient tous un signal vers la carte son. </para> +</listitem> + +<listitem> +<para +>Des instruments construits à partir des modules de bas niveau de arts (nommés <filename +>instruments_*.arts</filename +>). Ils respectent une convention pour les ports d'entrée et de sortie de façon à pouvoir les utiliser par le gestionnaire &MIDI; de &artscontrol;. </para> +</listitem> + +<listitem> +<para +>Des modèles pour créer de nouveaux modules (nommés <filename +>template_*.arts</filename +>). </para> +</listitem> + +<listitem> +<para +>Des effets, qui peuvent être réutilisés commues nouveaux blocs (nommés <filename +>effect_*.arts</filename +>) [ tous dans todo ] </para> +</listitem> + +<listitem> +<para +>Des éléments de mixage utilisés pour créer des tables de mixage, incluant des contrôleurs graphiques (nommés <filename +>mixer_element_*.arts</filename +>). [ tous dans todo ] </para> +</listitem> + +<listitem> +<para +>Des modules divers qui n'entrent pas dans l'une des catégories précédentes. </para> +</listitem> +</itemizedlist> + +<variablelist> +<title +>Description détaillée de chaque module :</title> +<varlistentry> +<term +><filename +>example_stereo_beep.arts</filename +></term> +<listitem> +<para +>Génère une onde sinusoïdale à 440 Hz sur le canal gauche et une onde sinusoïdale à 880 Hz sur le canal droit, et les envoie vers la sortie de la carte son. Ceci est référencé dans la documentation de &arts;. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><filename +>example_sine.arts</filename +></term> +<listitem> +<para +>Génère une onde sinusoïdale à 440 Hz. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><filename +>example_pulse.arts</filename +></term> +<listitem> +<para +>Génère une onde de type impulsion à 440 Hz avec un rapport cyclique de 20%. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><filename +>example_softsaw.arts</filename +></term> +<listitem> +<para +>Génère une onde en dent de scie à 440 Hz. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><filename +>example_square.arts</filename +></term> +<listitem> +<para +>Génère une onde carrée à 440 Hz. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><filename +>example_tri.arts</filename +></term> +<listitem> +<para +>Génère une onde triangulaire à 440 Hz. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><filename +>example_noise.arts</filename +></term> +<listitem> +<para +>Génère un bruit blanc. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><filename +>example_dtmf1.arts</filename +></term> +<listitem> +<para +>Génère une double tonalité en produisant deux ondes sinusoïdales à 697 et 1209 Hz, en les multipliant chacune par 0.5, et en les ajoutant. Il s'agit de la tonalité DMTF du nombre <quote +>1</quote +> sur un clavier de téléphone. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><filename +>example_atan_saturate.arts</filename +></term> +<listitem> +<para +>Génère une onde triangulaire modifiée par un filtre de type <quote +>atan saturate</quote +>. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><filename +>example_autopanner.arts</filename +></term> +<listitem> +<para +>Utilise une panoramique automatique pour balancer une onde sinusoïdale à 440 Hz entre les haut-parleurs droit et gauche à une fréquence de 2 Hz. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><filename +>example_brickwall.arts</filename +></term> +<listitem> +<para +>Atténue une onde sinusoïdale d'un facteur 5 et la dirige à travers un limiteur de type <quote +>brickwall</quote +>. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><filename +>example_bus.arts</filename +></term> +<listitem> +<para +><quote +>Downlink</quote +> depuis un bus nommé <quote +>Bus</quote +> et <quote +>uplink</quote +> vers le bus <quote +>out_soundcard</quote +> avec inversion des canaux droit et gauche. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><filename +>example_cdelay.arts</filename +></term> +<listitem> +<para +><quote +>Downlink</quote +> depuis un bus nommé <quote +>Delay</quote +>, <quote +>uplinks</quote +> le canal droit à travers un cdelay réglé sur 0.5 seconde, laissant inchangé le canal gauche. Vous pouvez utiliser &artscontrol; pour connecter l'effet à un lecteur audio et observer les résultats. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><filename +>example_delay.arts</filename +></term> +<listitem> +<para +>Il s'agit du même exemple que <filename +>example_cdelay</filename +> mais utilise l'effet delay. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><filename +>example_capture_wav.arts</filename +></term> +<listitem> +<para +>Ceci utilise un module Synth_CAPTURE_WAV pour enregistrer une onde sinusoïdale à 440 Hz dans un fichier wav. Exécutez le module pendant quelques secondes, puis examinez le fichier créé dans <filename class="directory" +>/tmp</filename +>. Vous pouvez le lire avec un lecteur comme <application +>kaiman</application +>. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><filename +>example_data.arts</filename +></term> +<listitem> +<para +>Ceci utilise un module Data pour générer un flux constant de la valeur <quote +>3</quote +> et l'envoie vers un module Debug pour l'afficher périodiquement. Il contient aussi un module Nil, illustrant comment il peut être utilisé pour ne rien faire. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><filename +>example_adsr.arts</filename +></term> +<listitem> +<para +>Montre comment créer un simple son d'instrument utilisant un module d'enveloppe Adsr, déclenché de manière répétitive par une onde carrée. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><filename +>example_fm.arts</filename +></term> +<listitem> +<para +>Ceci utilise un module de Source FM pour générer une onde sinusoïdale dont la fréquence est modulée à 5 Hz. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><filename +>example_freeverb.arts</filename +></term> +<listitem> +<para +>L'effet Freeverb est connecté d'un bus downlink vers un bus outlink. Vous pouvez utiliser artscontrol pour connecter l'effet à un lecteur audio et observer le résultat. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><filename +>example_flanger.arts</filename +></term> +<listitem> +<para +>Ceci implante un simple effet de flanger (apparemment, il ne fonctionne pas encore). </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><filename +>example_moog.arts</filename +></term> +<listitem> +<para +>Cette structure combine les deux canaux depuis un bus en un seul canal, qui passe ensuite dans un filtre Moog VCF, et est dirigé vers le bus out_soundcard. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><filename +>example_pitch_shift.arts</filename +></term> +<listitem> +<para +>Cette structure envoie le canal gauche des données d'une carte son vers un effet de Pitch shift (décalage de la hauteur du son). Ajustez le paramètre de vitesse pour modifier l'effet. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><filename +>example_rc.arts</filename +></term> +<listitem> +<para +>Cette structure dirige le bruit blanc généré vers un filtre RC puis vers la sortie de la carte son. En affichant la FFT (transformée de Fourier) dans artscontrol, vous pouvez comparer avec le spectre d'une source de bruit non filtrée. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><filename +>example_sequence.arts</filename +></term> +<listitem> +<para +>Ceci met en évidence le module Sequence en jouant une séquence de notes. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><filename +>example_shelve_cutoff.arts</filename +></term> +<listitem> +<para +>Cette structure envoie un bruit blanc vers un filtre de type Shelve Cutoff puis vers la sortie de la carte son. En affichant la FFT (transformée de Fourier) dans artscontrol, vous pouvez comparer avec le spectre d'une source de bruit non filtrée. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><filename +>example_equalizer.arts</filename +></term> +<listitem> +<para +>Ceci met en évidence le module Std_Equalizer. Il amplifie les basses et hautes fréquences de 6 dB. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><filename +>example_tremolo.arts</filename +></term> +<listitem> +<para +>Ceci met en évidence l'effet de trémolo. Les canaux gauche et droite sont modulés en utilisant un trémolo à 10 Hz. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><filename +>example_xfade.arts</filename +></term> +<listitem> +<para +>Dans cet exemple, deux ondes sinusoïdales à 440 et 880 Hz sont mélangées en utilisant un <quote +>cross fader</quote +>. Ajustez la valeur du pourcentage d'entrée du <quote +>crossfader</quote +> entre *1 et 1 pour contrôler le mélange des deux signaux. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><filename +>example_pscale.arts</filename +></term> +<listitem> +<para +>Ceci illustre le module Pscale (je ne sais pas si c'est un exemple significatif). </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><filename +>example_play_wav.arts</filename +></term> +<listitem> +<para +>Ceci illustre le module Play Wave. Vous devez saisir le chemin complet vers un fichier <literal role="extension" +>.wav</literal +> comme paramètre de nom de fichier. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>example_multi_add.arts</term> +<listitem> +<para +>Ceci montre le module Multi Add qui accepte un nombre indéterminé d'entrées. Il additionne trois modules Data qui produisent les valeurs 1, 2 et 3 puis affiche le résultat 6. </para> +</listitem> +</varlistentry> +</variablelist> + +</sect1> +</chapter> diff --git a/tde-i18n-fr/docs/tdemultimedia/artsbuilder/digitalaudio.docbook b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/digitalaudio.docbook new file mode 100644 index 00000000000..7a6cf34a602 --- /dev/null +++ b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/digitalaudio.docbook @@ -0,0 +1,16 @@ +<!-- <?xml version="1.0" ?> +<!DOCTYPE appendix PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd"> +To validate or process this file as a standalone document, uncomment +this prolog. Be sure to comment it out again when you are done --> + +<appendix id="intro-digital-audio"> +<title +>Introduction à l'audionumérique</title> + +<para +>échantillonnage, filtres, effets, &etc;</para> + +</appendix> + + + diff --git a/tde-i18n-fr/docs/tdemultimedia/artsbuilder/faq.docbook b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/faq.docbook new file mode 100644 index 00000000000..8f579e12d3e --- /dev/null +++ b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/faq.docbook @@ -0,0 +1,1310 @@ +<!-- <?xml version="1.0" ?> +<!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd"> +To validate or process this file as a standalone document, uncomment +this prolog. Be sure to comment it out again when you are done --> +<chapter id="faq"> +<title +>Questions et réponses</title> + +<para +>Cette section répond aux questions les plus fréquemment posées à propos de &arts;. </para> + +<qandaset id="faq-general"> +<title +>Généralités</title> + +<qandaentry> +<question> +<para +>&kde; reconnaît-il ma carte son ? </para> +</question> + +<answer> +<para +>&kde; utilise &arts; pour le son, et &arts; utilise les pilotes sonores du noyau de &Linux;, soit <acronym +>OSS</acronym +>, soit <acronym +>ALSA</acronym +> (en utilisant l'émulation <acronym +>OSS</acronym +>). Si votre carte son est reconnue par <acronym +>ALSA</acronym +> ou <acronym +>OSS</acronym +> et correctement configurée (&cad; que les autres applications &Linux; l'utilisent sans problème), ça marchera. Il y a cependant des problèmes avec certains matériels spécifiques, lisez la <link linkend="faq-hardware-specific" +> section pour les problèmes spécifiques au matériel</link +> si vous avez des problèmes avec artsd sur votre machine. </para> +<para +>En attendant, la gestion pour d'autres plates-formes diverses a été ajoutée. Voici une liste complète de la façon dont les versions les plus récentes de &arts; peuvent lire le sons. Si vous avez une plate-forme non gérée, veuillez porter &arts; sur votre plate-forme. </para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry +>Méthodes d'entrées/sorties audio de &arts;</entry> +<entry +>Comment</entry> +</row> +</thead> + +<tbody> +<row> +<entry +>paud</entry> +<entry +>Gestion des périphériques audio personnels AIX</entry> +</row> + +<row> +<entry +>alsa</entry> +<entry +>Pilotes Linux ALSA-0.5 et ALSA-0.9</entry> +</row> + +<row> +<entry +>libaudioio</entry> +<entry +>Gestion des librairies génériques LibAudioIO qui fonctionnent avec Solaris</entry> +</row> + +<row> +<entry +>nas</entry> +<entry +>Serveur de son NAS, utile pour les terminaux X avec la gestion de NAS</entry> +</row> + +<row> +<entry +>null</entry> +<entry +>Périphérique audio null, désactive le son</entry> +</row> + +<row> +<entry +>oss</entry> +<entry +>Gestion de OSS (Open Sound System). Fonctionne sous Linux, divers BSD et d'autres plates-formes sur lesquelles les pilotes OSS sont installés.</entry> +</row> + +<row> +<entry +>toss</entry> +<entry +>L'implantation d'OSS multithreadés qui fonctionne mieux dans certains cas où l'implantation standard d'OSS ne fonctionne pas très bien</entry> +</row> + +<row> +<entry +>sgi</entry> +<entry +>Gestion de SGI Direct Media pour IRIX</entry> +</row> + +<row> +<entry +>sun</entry> +<entry +>Gestion de Solaris</entry> +</row> + +</tbody> +</tgroup> +</informaltable> +</answer> +</qandaentry> + +<qandaentry> +<question> +<para +>Je ne peux pas lire de fichiers <literal role="extension" +>wav</literal +> avec &artsd; ! </para> +</question> + +<answer> +<para +>Vérifiez que &artsd; est lié à <filename +>libaudiofile</filename +> (<userinput +><command +>ldd</command +><parameter +>artsd</parameter +></userinput +>). Si ce n'est pas le cas, téléchargez tdesupport, recompilez tout et ça devrait marcher. </para> +</answer> +</qandaentry> + +<qandaentry> +<question> +<para +>J'entends un son lorsque je me connecte en <systemitem class="username" +>root</systemitem +> mais les autres utilisateurs n'ont pas le son ! </para> +</question> + +<answer> +<para +>Les permission du fichier <filename class="devicefile" +>/dev/dsp</filename +> déterminent quels utilisateurs ont accès au son. Pour permettre à tout le monde de l'utiliser, faites ceci : </para> + +<procedure> +<step> +<para +>Connectez-vous en <systemitem class="username" +>root</systemitem +> </para> +</step> + +<step> +<para +>ouvrez une fenêtre &konqueror; </para> +</step> + +<step> +<para +>allez dans le dossier <filename class="directory" +>/dev</filename +> </para> +</step> + +<step> +<para +>cliquez sur le fichier <filename +>dsp</filename +> avec le bouton <mousebutton +>droit</mousebutton +> de la souris, et choisissez propriétés. </para> +</step> + +<step> +<para +>cliquez sur l'onglet <guilabel +>Permissions</guilabel +> </para> +</step> + +<step> +<para +>cochez les cases <guilabel +>Lecture</guilabel +> et <guilabel +>Écriture</guilabel +> dans toutes les sections. </para> +</step> + +<step> +<para +>cliquez sur <guibutton +>OK</guibutton +> </para> +</step> +</procedure> + +<para +>Vous pouvez obtenir le même effet dans un terminal en utilisant la commande <userinput +><command +>chmod</command +> <option +>666</option +> <parameter +>/dev/dsp</parameter +></userinput +>. </para> + +<para +>Pour restreindre l'accès au son à certains utilisateurs, vous pouvez utiliser les permissions de groupe. Avec certaines distributions &Linux;, par exemple Debian/Potato, <filename class="devicefile" +>/dev/dsp</filename +> appartient déjà au groupe <systemitem class="groupname" +>audio</systemitem +>, donc vous devez juste ajouter les utilisateurs à ce groupe. </para> +</answer> +</qandaentry> + +<qandaentry> +<question> +<para +>Ça fonctionne pour &artsd;, mais pour les autres applications comme &kmix;, &kmid;, &kscd;,&etc; ? </para> +</question> +<answer> + +<para +>Il y a d'autres périphériques qui fournissent des fonctionnalités auxquelles accèdent des applications multimédia. Vous pouvez les traiter de la même manière, soit en les rendant accessibles à tout le monde, soit en utilisant des groupes pour contrôler les accès. Voici une liste, qui est vraisemblablement incomplète (s'il y a plusieurs périphériques de la forme <filename class="devicefile" +>midi0</filename +>, <filename class="devicefile" +>midi1</filename +>, &etc; seule la version avec le zéro est listée ici) : </para> + +<itemizedlist> +<listitem> +<para> +<filename class="devicefile" +>/dev/admmidi0</filename> +</para> +</listitem> +<listitem> +<para> +<filename class="devicefile" +>/dev/adsp0</filename> +</para> +</listitem> +<listitem> +<para> +<filename class="devicefile" +>/dev/amidi0</filename> +</para> +</listitem> +<listitem> +<para> +<filename class="devicefile" +>/dev/amixer0</filename> +</para> +</listitem> +<listitem> +<para> +<filename class="devicefile" +>/dev/audio</filename> +</para> +</listitem> +<listitem> +<para> +<filename class="devicefile" +>/dev/audio0</filename> +</para> +</listitem> +<listitem> +<para> +<filename class="devicefile" +>/dev/cdrom</filename> +</para> +</listitem> +<listitem> +<para> +<filename class="devicefile" +>/dev/dmfm0</filename> +</para> +</listitem> +<listitem> +<para> +<filename class="devicefile" +>/dev/dmmidi0</filename> +</para> +</listitem> +<listitem> +<para> +<filename class="devicefile" +>/dev/dsp</filename> +</para> +</listitem> +<listitem> +<para> +<filename class="devicefile" +>/dev/dsp0</filename> +</para> +</listitem> +<listitem> +<para> +<filename class="devicefile" +>/dev/midi0</filename> +</para> +</listitem> +<listitem> +<para> +<filename class="devicefile" +>/dev/midi0</filename> +</para> +</listitem> +<listitem> +<para> +<filename class="devicefile" +>/dev/midi00</filename> +</para> +</listitem> +<listitem> +<para> +<filename class="devicefile" +>/dev/midi00</filename> +</para> +</listitem> +<listitem> +<para> +<filename class="devicefile" +>/dev/mixer</filename> +</para> +</listitem> +<listitem> +<para> +<filename class="devicefile" +>/dev/mixer0</filename> +</para> +</listitem> +<listitem> +<para> +<filename class="devicefile" +>/dev/mpu401data</filename> +</para> +</listitem> +<listitem> +<para> +<filename class="devicefile" +>/dev/mpu401stat</filename> +</para> +</listitem> +<listitem> +<para> +<filename class="devicefile" +>/dev/music</filename> +</para> +</listitem> +<listitem> +<para> +<filename class="devicefile" +>/dev/rmidi0</filename> +</para> +</listitem> +<listitem> +<para> +<filename class="devicefile" +>/dev/rtc</filename> +</para> +</listitem> +<listitem> +<para> +<filename class="devicefile" +>/dev/sequencer</filename> +</para> +</listitem> +<listitem> +<para> +<filename class="devicefile" +>/dev/smpte0</filename> +</para> +</listitem> +<listitem> +<para> +<filename class="devicefile" +>/dev/sndstat</filename> +</para> +</listitem> +</itemizedlist> +</answer> +</qandaentry> + +<qandaentry> +<question> +<para +>Que puis-je faire si artsd ne démarre pas ou plante en cours de fonctionnement ?</para> +</question> + +<answer> +<para +>Tout d'abord, essayez d'utiliser les réglages par défaut du ¢reConfiguration; (ou si vous démarrez manuellement, ne donnez pas d'options supplémentaires outre <userinput +><option +>-F</option +><parameter +>10</parameter +> <option +>-S</option +><parameter +>4096</parameter +></userinput +> pour les temps de réponse). Tout particulièrement, <emphasis +>full duplex est susceptible de ne pas fonctionner</emphasis +> avec divers pilotes, donc essayez de le désactiver. </para> + +<para +>Une bonne façon de vous rendre compte pourquoi &artsd; ne démarre pas (ou plante en cours de fonctionnement) est de démarrer manuellement. Ouvrez une fenêtre &konsole;, et saisissez : </para> + +<screen width="40" +><prompt +>%</prompt +> <userinput +><command +>artsd</command +> <option +>-F</option +><parameter +>10</parameter +> <option +>-S</option +><parameter +>4096</parameter +></userinput +></screen> + +<para +>Vous pouvez aussi ajouter l'option <option +>-l0</option +>, qui affichera plus d'informations sur ce qu'il se passe, comme ceci : </para> +<screen width="40" +><prompt +>%</prompt +> <userinput +><command +>artsd</command +> <option +>-l0</option +> <option +>-F</option +><parameter +>10</parameter +> <option +>-S</option +><parameter +>4096</parameter +></userinput +></screen> + +<para +>En faisant ceci, vous obtiendrez sûrement des informations utiles. S'il plante en faisant ceci ou cela, vous pouvez refaire ceci et cela et voir <quote +>comment</quote +> il plante. Si vous voulez faire un rapport de bogue, générer un <quote +>backtrace</quote +> avec <command +>gdb</command +> et/ou un <command +>strace</command +> peut aider à régler le problème. </para> +</answer> +</qandaentry> + +<qandaentry> +<question> +<para +>Puis-je relocaliser &arts; (déplacer les fichiers compilés dans un autre dossier) ?</para> +</question> + +<answer> +<para +>Vous ne pouvez pas modifier le dossier de &arts; de manière parfaite. Le problème est que la localisation de &artsd; est compilée dans &artswrapper; pour des raisons de sécurité. Vous pouvez cependant utiliser le fichier <filename +>.mcoprc</filename +> (entrées TraderPath/ExtensionPath) pour qu'un &artsd; déplacé puisse au moins trouver ses composants. Voyez le <link linkend="the-mcoprc-file" +>chapitre à propos du fichier <filename +>.mcoprc</filename +></link +> pour plus de détails. </para> +</answer> +</qandaentry> + +<qandaentry> +<question> +<para +>Puis-je compiler &arts; avec gcc-3.0 ?</para> +</question> + +<answer> +<para +>Réponse courte : non. &arts; ne fonctionnera pas si vous le compilez avec gcc-3.0. </para> + +<para +>Réponse longue : dans les versions officielles, il y a deux bogues gcc-3.0 affectant &arts;. Le premier, gcc-3.0 bug c++/2733est relativement innofensif (et a à voir avec des problèmes avec les instructions asm). Il fait échouer la compilation de convert.cc. Il a été corrigé dans le CVS de gcc-3.0, et ne sera plus un problème avec gcc-3.0.1et supérieur. Une solution temporaire a également été ajoutée dans la version CVS de KDE/aRts. </para> +<para +>Le second bogue, c++/3145 (qui provoque la génération de mauvais code dans le cas d'héritages virtuels multiples) est critique. Des applications comme &artsd; planteront simplement au démarrage lorsqu'elles sont compilées avec gcc-3.0. Même si des progrès ont été effectués dans la branche de gcc-3.0, au moment où ces lignes sont écrites, &artsd; plante toujours relativement souvent, de manière imprévisible. </para> +</answer> +</qandaentry> +<qandaentry> +<question> +<para +>Quelles applications fonctionnent avec &arts; ?</para> +</question> +<answer> + +<para +>Évidemment, toutes les applications fournies avec &kde; sont compatibles avec &arts;. Ceci inclut : </para> + +<itemizedlist> +<listitem +><para +>&noatun;</para +></listitem> +<listitem +><para +>&arts-builder;</para +></listitem> +<listitem +><para +>&aktion;</para +></listitem> +<listitem +><para +>&kmid;</para +></listitem> +<listitem +><para +>&kmidi;</para +></listitem> +<listitem +><para +>&kmix;</para +></listitem> +<listitem +><para +>&kscd;</para +></listitem> +<listitem +><para +>Des jeux &kde; tels que &kpoker; et &ktuberling;</para +></listitem> +</itemizedlist> + +<para +>Certaines applications non incluses dans la distribution de &kde; (&pex; contenues dans kdenonbeta) gèrent aussi &arts;, comme : </para> + +<itemizedlist> +<listitem +><para +>&brahms;</para +></listitem> +<listitem +><para +><application +>Kaboodle</application +></para +></listitem> +<listitem +><para +><application +>Kdao</application +></para +></listitem> +</itemizedlist> + +<para +>Les application non-&kde; suivantes devraient fonctionner avec &arts; : </para> + +<itemizedlist> +<listitem +><para +><application +>xmms</application +> (avec le module externe &arts;)</para +></listitem> +<listitem +><para +>Real Networks <application +>RealPlayer</application +> 8.0 (fonctionne avec &artsdsp; ; le support natif de &arts; est en cours d'étude)</para +></listitem> +</itemizedlist> + +<para +>Les applications suivantes <emphasis +>ne</emphasis +> fonctionnent <emphasis +>pas</emphasis +> avec &arts; : </para> + +<itemizedlist> +<listitem +><para +>aucune</para +></listitem> +</itemizedlist> + +<para +>Voyez aussi les réponses aux questions dans la faq <link linkend="faq-non-arts" +>applications non-&arts;</link +>. </para> + +<para +>Cette section est incomplète - si vous avez plus d'informations sur les applications reconnues ou non, prévenez l'auteur afin de les inclure ici. </para> +</answer> +</qandaentry> + +</qandaset> + +<qandaset id="faq-non-arts"> +<title +>Applications non-&arts;</title> + +<qandaentry> +<question> +<para +>Dès que &kde; fonctionne, les autres applications ne peuvent plus accéder au périphérique son ! </para> +</question> +<answer> +<para +>Lorsque le serveur sonore de &arts; est utilisé par &kde;, il utilise le périphérique sonore. Si le serveur ne fait rien pendant 60 secondes, il est suspendu automatiquement et libère le périphérique. </para> +</answer> +</qandaentry> + +<qandaentry> +<question> +<para +>Vous dites qu'il est suspendu après 60 secondes, mais ça ne marche pas chez moi ! </para> +</question> +<answer> +<para +>Si vous démarrez artsd depuis le centre de configuration de KDE, la suspension automatique est réglée par défaut à 60 secondes. Si vous démarrez artsd depuis la ligne de commande, vous devrez utiliser l'option -s pour spécifier le temps de suspension automatique, sinon elle sera désactivée par défaut. </para> +<para +>Actuellement, il n'est pas suspendu si le mode full duplex est activé. Désactivez-le depuis le ¢reConfiguration;. Il est conseillé généralement de désactiver le mode full duplex si vous utilisez &arts; pour lire de l'audio et pas pour enregistrer. </para> +</answer> +</qandaentry> + +<qandaentry> +<question> +<para +>Comment exécuter de vieilles applications qui ne reconnaissent pas &arts; ? </para> +</question> + +<answer> +<para +>Exécutez-les avec &artsdsp;. Par exemple, si vous aviez écrit en temps normal : </para> + +<screen +><prompt +>%</prompt +> <userinput +><command +>mpg123</command +> <option +>foo.mp3</option +></userinput +></screen> + +<para +>utilisez plutôt :</para> + +<screen +><prompt +>%</prompt +> <userinput +><command +>artsdsp</command +> <option +>mpg123 foo.mp3</option +></userinput +></screen> + +<para +>Ceci redirigera la sortie son vers &arts;. Cette méthode ne nécessite pas de modifications de l'application. Ce n'est pas très élégant, et ne gère pas toutes les caractéristiques de la carte son donc il est possible que ça ne fonctionne pas pour certaines applications. </para> +</answer> +</qandaentry> + +<qandaentry> +<question> +<para +>Je ne peux exécuter &artsdsp; avec aucune application, il plante à tous les coups ! </para> +</question> +<answer> +<para +>Vous avez besoin d'une version récente des librairies glibc ; &artsdsp; ne fonctionnera pas de manière sûre sur certaines vieilles distributions de &Linux;. Par exemple, avec une Debian 2.1 (basée sur glibc 2.0), ça ne fonctionnera pas, tandis que ça fonctionnera avec une Debian2.2 (basée sur glibc 2.1.3). </para> +</answer> +</qandaentry> + +<qandaentry> +<question> +<para +>Y a-t-il des limitations théoriques avec certaines applications qui m'empêcheraient de les utiliser avec &artsdsp; ? </para> +</question> +<answer> +<para +>Non, utiliser &artsdsp; peut entraîner des temps de latence et une augmentation légère de l'utilisation du processeur par rapport à l'utilisation directe des <acronym +>API</acronym +> de &arts;. À part ça, si ça ne fonctionne pas pour une application, il faut considérer ça comme un bogue dans &artsdsp;. La technique utilisée par &artsdsp; devrait, si elle est implantée correctement, permettre à <emphasis +>toute</emphasis +> application de fonctionner avec (y compris les grosses applications comme <application +>Quake</application +> 3). </para> +</answer> +</qandaentry> + +<qandaentry> +<question> +<para +>Que puis-je faire si une application ne fonctionne pas avec &artsdsp; ? </para> +</question> +<answer> +<para +>Vous pouvez attendre que &artsd; se suspende automatiquement, ou utiliser la commande <userinput +><command +>artsshell</command +><option +>suspend</option +></userinput +> pour demander au serveur de se suspendre. Vous ne pourrez le suspendre que si plus aucune application reconnaissant &arts;ne l'utilise, et ensuite plus aucune de ces applications ne pourra le réutiliser lorsqu'il sera suspendu. </para> + +<para +>Si le serveur est occupé, un moyen un peu rude, mais efficace de s'en débarrasser est : </para> + + +<screen +><prompt +>%</prompt +> <userinput +><command +>killall</command +> <option +>artsd</option +> ; <command +>killall</command +> <option +>artswrapper</option +></userinput> +<lineannotation +>Maintenant démarrons notre application.</lineannotation> +<prompt +>%</prompt +> <userinput +><command +>kcminit</command +> <option +>arts</option +></userinput +> +</screen> + +<para +>Une fois que vous avez tué le serveur, toute application reconnaissant &arts; et en fonctionnement est alors susceptible de planter. </para> +</answer> +</qandaentry> +<qandaentry> +<question> +<para +>Et les applications écrites pour &kde; 1 ? </para> +</question> +<answer> +<para +>Si vous exécutez des applications &kde; 1, qui envoient les signaux audio vers le serveur audio de &kde; 1, vous devrez exécuter <application +>kaudioserver</application +> pour les faire fonctionner. Vous pouvez démarrer <application +>kaudioserver</application +> de la même façon que les applications non-&arts; : </para> + +<screen +><prompt +>%</prompt +> <userinput +><command +>artsdsp</command +> <option +>kaudioserver</option +></userinput +> +</screen> + +<para +>kaudioserver doit être installé (depuis les sources de &kde; 1) - il appartient à &kde; 1.x, pas &kde; 2. </para> +</answer> +</qandaentry> + +<qandaentry> +<question> +<para +>Et les applications utilisant le <quote +>enlightened sound daemon</quote +>, <acronym +>ESD</acronym +> ? </para> +</question> +<answer> +<para +>La méthode est similaire à celle pour <application +>kaudioserver</application +>. De telles applications nécessitent que le serveur esd fonctionne. Vous pouvez démarrer <command +>esd</command +> via &artsdsp;, et chaque application utilisant <acronym +>ESD</acronym +> devrait fonctionner correctement, comme ceci : </para> +<screen +><prompt +>%</prompt +> <userinput +><command +>artsdsp</command +> <option +>esd</option +></userinput +> +</screen> +<para +>Les version de aRts plus récentes ( +>=1.2.0) peuvent également utiliser le démon sonore d'enlightment au lieu d'accéder directement à la carte son. Sur la ligne de commande, vous pouvez utiliser l'option -a, comme </para> +<screen +><prompt +>%</prompt +> <userinput +><command +>artsd</command +> <option +>-a esd</option +></userinput +> +</screen> +<para +>pour activer la gestion de EsounD, tandis que dans KDE, vous pouvez utiliser le centre de configuration pour configurer artsd pour utiliser esd via Son -> Serveur sonore -> Entrées / sorties. </para> +</answer> +</qandaentry> + +</qandaset> + +<qandaset id="faq-latency"> +<title +>Temps de latence</title> + +<qandaentry> +<question> +<para +>J'entends parfois de courtes pauses lorsque j'écoute de la musique. C'est un bogue ? </para> +</question> +<answer> +<para +>Ce n'est probablement pas un bogue, mais dû au fait que le noyau de &Linux; n'est pas adapté à l'ordonnancement temps-réel. Il y a des situations où &arts; ne pourra pas continuer à jouer. Vous pouvez cependant activer les droits temps-réel (via le ¢reConfiguration;), et utiliser un temps de réponse important (comme<guilabel +>250ms</guilabel +> ou <guilabel +> le plus grand possible</guilabel +>), ce qui devrait améliorer la situation. </para> +</answer> +</qandaentry> + +<qandaentry> +<question> +<para +>Quel est l'effet du réglage du temps de réponse ? </para> +</question> +<answer> +<para +>Le texte d'aide pour ce réglage dans le ¢reConfiguration; peut être trompeur. Une valeur faible signifie que &arts; aura moins de temps pour répondre à un événement extérieur (&cad; le temps qui sépare le moment ou une fenêtre est fermée, et le moment ou un son est joué par &artsd;). Plus de ressources processeur seront aussi utilisées, ce qui peut entraîner des interruptions brèves du son.</para> +</answer> +</qandaentry> + +<qandaentry> +<question> +<para +>Est-ce que je peux faire autre chose pour éviter ces interruptions ? </para> +</question> +<answer> +<para +>Pour les utilisateurs de lecteurs <acronym +>IDE</acronym +>, vous pouvez utiliser la commande <command +>hdparm</command +> pour placer votre lecteur <acronym +>IDE</acronym +> en mode <acronym +>DMA</acronym +>. Attention, ça ne fonctionne pas avec tous les matériels, et peut vous obliger à redémarrer la machine, ou plus rare, peut entraîner des pertes de données. Lisez la documentation sur la commande <command +>hdparm</command +> pour de plus amples informations. J'ai utilisé avec succès la commande suivante : </para> + +<screen +><prompt +>%</prompt +> <userinput +><command +>hdparm</command +> <option +>-c1</option +> <option +>-d1</option +> <option +>-k1</option +> <option +>-K1</option +> <parameter +>/dev/hda</parameter +></userinput +> +</screen> + +<para +>Vous devez lancer ceci après chaque démarrage, donc placez-le dans un script de démarrage de votre système (la façon de procéder dépend de votre distribution, sur une Debian &Linux;, la commande est souvent ajoutée dans <filename +>/etc/rc.boot</filename +>). </para> +</answer> +</qandaentry> + +<qandaentry> +<question> +<para +>La priorité temps-réel ne semble pas avoir un effet chez moi. </para> +</question> +<answer> +<para +>Vérifiez que artswrapper est installé suid <systemitem class="username" +>root</systemitem +>, comme il est supposé l'être. Beaucoup de distributions (SuSE7.x for instance) ne le font pas. Vous pouvez vérifier ceci en utilisant : ls -l $(which artswrapper). Bon : <screen> +<prompt +>%</prompt +> <userinput +><command +>ls</command +> <option +>-l</option +> <parameter +>$(which artswrapper)</parameter +></userinput> +-rwsr-xr-x 1 root root 4556 Sep 24 18:05 /opt/kde2/bin/artswrapper +</screen +> Mauvais : <screen> +<prompt +>%</prompt +> <userinput +><command +>ls</command +> <option +>-l</option +> <parameter +>$(which artswrapper)</parameter +></userinput> +-rwxr-xr-x 1 root root 4556 Sep 24 18:05 /opt/kde2/bin/artswrapper +</screen +> Si vous n'avez pas le s, vous pouvez l'obtenir en utilisant : <screen +><prompt +>%</prompt +> <userinput +><command +>chown</command +> <option +>root</option +> <parameter +>$(which artswrapper)</parameter +></userinput> +<prompt +>%</prompt +> <userinput +><command +>chmod</command +> <option +>4755</option +> <parameter +>$(which artswrapper)</parameter +></userinput +> +</screen> +</para> + +<para +>Si vous rendez artswrapper SUID <systemitem class="username" +>root</systemitem +>, ceci améliorera sensiblement la qualité de la lecture audio en réduisant les coupures dans la musique. Cependant, ceci augmente également le risque qu'un bogue dans le code ou qu'un utilisateur malicieux ne fasse planter ou bloquer votre machine. De plus, sur des machines multiutilisateurs, donner la priorité à un son de haute qualité peut diminuer les performances pour les utilisateurs qui essaient d'utiliser la machine de manière <quote +>productive</quote +>.</para> + +</answer> +</qandaentry> + + +<qandaentry> +<question> +<para +>Pourquoi &artsd; consomme-t-il autant de temps processeur ? </para> +</question> +<answer> +<para +>Vérifiez le réglage du temps de réponse. Cependant, la version actuelle n'est pas encore vraiment optimisée. Ça devrait s'améliorer, mais jusque là, aucune estimation sur la vitesse de &artsd; ne peut vraiment être faite. </para> +</answer> +</qandaentry> +</qandaset> + +<qandaset id="faq-network"> +<title +>Transparence réseau</title> + +<qandaentry> +<question> +<para +>De quoi ai-je besoin pour utiliser la transparence réseau ? </para> +</question> +<answer> +<para +>Activez-la à partir de <guilabel +>Serveur de son</guilabel +> dans le ¢reConfiguration;(<guilabel +>Échanger les informations de sécurité et de référence sur le serveur X11</guilabel +> et <guilabel +>Activer la transparence réseau</guilabel +>). Copiez ensuite votre fichier <filename +>.mcoprc</filename +> sur toutes les machines à partir desquelles vous voulez utiliser la transparence réseau. Connectez-vous à nouveau. Assurez-vous que les hôtes mis en jeu se connaissent bien entre eux (&cad; qu'ils ont des noms résolvables ou qu'ils sont dans <filename +>/etc/hosts</filename +>). </para> + +<para +>Ce devrait être tout ce que vous avez à faire. Cependant, si ça ne fonctionne toujours pas, il y a quelques détails supplémentaires. Le processus du serveur de son de &arts;, &artsd;, ne doit être exécuté que sur un hôte, celui contenant la carte son qui va être utilisée. Ce processus peut être démarré automatiquement à la connexion à &kde; (vous configurez ceci dans le ¢reConfiguration;), ou manuellement en utilisant quelque chose comme : </para> + +<screen +><prompt +>%</prompt +> <userinput +><command +>artsd</command +> <option +>-n</option +> <option +>-F</option +> <parameter +>5</parameter +> <option +>-S</option +> <parameter +>8192</parameter +></userinput +> +</screen> + +<para +>Le paramètre <option +>-n</option +> correspond à la transparence réseau, et les autres paramètres configurent le temps de réponse. </para> + +<para +>Votre fichier <filename +>.mcoprc</filename +> devrait contenir l'entrée : </para> + +<screen +><userinput +>GlobalComm=Arts::X11GlobalComm</userinput +> +</screen> + +<para +>sur toutes les machines mises en jeu, afin de faire fonctionner la transparence réseau. C'est ce qui est activé par le réglage <guilabel +>Échanger les informations de sécurité et de référence sur le serveur X11</guilabel +> du centre de configuration de &kde;. </para> + +<para +>Enfin, dans toutes les versions de &kde; de la série 2.0.x, un bogue apparaît si vous n'avez pas de nom de domaine. Les clients de &artsd; essaient de trouver où se connecter via la combinaison <systemitem class="systemname" +><replaceable +>hostname</replaceable +>.<replaceable +>domainname</replaceable +></systemitem +> Si votre nom de domaine est vide, ils essaieront de se connecter à <systemitem class="systemname" +><replaceable +>hostname</replaceable +></systemitem +>. (notez le point supplémentaire). Il est possible de contourner ce problème en ajoutant une entrée à <filename +>/etc/hosts</filename +> (&cad; <userinput +>orion.</userinput +> si votre nom d'hôte est <systemitem class="systemname" +>orion</systemitem +>). </para> +</answer> +</qandaentry> + + +<qandaentry> +<question> +<para +>Comment déboguer la transparence réseau si ça ne fonctionne pas ? </para> +</question> +<answer> +<para +>Si vous avez le code source de &kde;, allez dans <filename class="directory" +>tdelibs/arts/examples</filename +>, et exécutez <userinput +><command +>make</command +> <option +>check</option +></userinput +> pour compiler certains programmes, dont <application +>referenceinfo</application +>. Exécutez ensuite </para> + +<screen +><prompt +>%</prompt +> <userinput +><command +>./referenceinfo</command +> <option +>global:Arts_SimpleSoundServer</option +></userinput +> +</screen> + +<para +>La sortie indiquera le nom d'hôte et le port en cours d'utilisation par &arts;. Par exemple, <computeroutput +>tcp:orion:1698</computeroutput +> signifierait que tout client essayant d'utiliser la transparence réseau devrait savoir comment atteindre l'hôte <systemitem class="systemname" +>orion</systemitem +>. </para> +</answer> +</qandaentry> + +</qandaset> + +<qandaset id="faq-hardware-specific"> +<title +>Questions spécifiques au matériel</title> + +<qandaentry> +<question> +<para +>Avec quels matériels artsd ne fonctionne-t-il pas correctement ? </para> +</question> +<answer> +<para +>Il semble qu'il y a quelques pilotes linux qui ne fonctionnent pas très bien avec aRts avec certaines versions du noyau. Veuillez lire cette liste avant de signaler un bogue. Si vous trouvez des informations incomplètes dans cette liste, n'hésitez pas à nous le faire savoir. <informaltable +> <tgroup cols="4"> +<thead> +<row> +<entry +>Pilote Linux / carte son</entry> +<entry +>Ne fonctionne pas sous</entry> +<entry +>Fonctionne sous</entry> +<entry +>Remarques</entry> +</row> +</thead> + +<tbody> +<row> +<entry +>Pilote i810 (Intel 810 + AC97 Audio)</entry> +<entry +>2.4.9</entry> +<entry +>2.4.18, 2.2.20, pilote commercial oss, alsa-0.5.12a avec émulation OSS</entry> +<entry +>le pilote cause une surcharge du processeur (voir plus bas)</entry> +</row> + +<row> +<entry +>maestro 3/4 chipset</entry> +<entry +>2.4.9</entry> +<entry +>?</entry> +<entry +>le pilote cause parfois une surcharge du processeur (voir plus bas)</entry> +</row> + +<row> +<entry +>aureal8820, pilotes aureal8830 de sourceforge</entry> +<entry +>2.4.17</entry> +<entry +>?</entry> +<entry +>le pilote déclenche des assertions et entraîne une surcharge du processeur (voir plus bas)</entry> +</row> + +<row> +<entry +>OSS Commercial 3.9.4g avec Aureal Vortex</entry> +<entry +>?</entry> +<entry +>?</entry> +<entry +>blocage du système</entry> +</row> + +<row> +<entry +>ymfpci</entry> +<entry +>2.4.0, 2.4.12</entry> +<entry +>2.4.17</entry> +<entry +>le pilote déclenche des assertions (voir plus bas)</entry> +</row> + + + +</tbody> +</tgroup> +</informaltable> +</para> +</answer> +</qandaentry> + + + +<qandaentry> +<question> +<para +>Pourquoi y-a-t-il des problèmes spécifiques au matériel et comment les détecter ? </para> +</question> +<answer> +<para +>Le problème courant est que le pilote ne fournit pas à aRts suffisamment d'informations ou de manière trop peu précise sur le moment auquel écrire les données sonores. La plupart des pilotes OSS fournissent correctement ces informations, mais pas tous. </para> +<para +>Vous avez peut-être remarqué que certaines autres applications (comme xmms) n'ont pas besoin de ces données, et ainsi fonctionnement correctement même avec votre matériel. Cependant, &arts; a besoin de ces données, donc artsd peut ne pas fonctionner. Ceci est un bogue dans le pilote, pas dans &arts;. </para> +<para +>Il y a deux sortes de comportement possibles pour artsd lorsqu'il fonctionne avec un pilote incorrect. Soit il tente continuellement d'apporter de nouvelles données, mais n'y parvient jamais, ce qui peut amener éventuellement à une consommation excessive du processeur donnant une <emphasis +>surcharge processeur</emphasis +> et sort. L'autre problème est que &artsd; peut se voir fournir de mauvaises informations sur la quantité d'informations à écrire. Artsd <emphasis +>s'arrêtera alors avec une assertion</emphasis +> comme : <screen +>artsd: audiosubsys.cc:458: void Arts::AudioSubSystem::handleIO(int): +Assertion `len == can_write' failed. +Aborted +</screen> +</para> +</answer> +</qandaentry> + +<qandaentry> +<question> +<para +>Qu'est-ce qui ne va pas avec le pilote si j'ai des problèmes de surcharge du processeur ? </para> +</question> +<answer> +<para +>Habituellement, artsd utilise select() pour trouver quand écrire de nouvelles données. Ensuite, il utilise un ioctl(...GETOSPACE...) pour trouver la quantité d'informations à écrire. Enfin, il écrit ces données. </para> +<para +>Un problème survient si artsd est réveillé soit en permanence, soit si il y a une quantité minimale de données à écrire. La documentation OSS spécifie que select() ne réveille un processus que s'il y a au moins un fragment à écrire, ou très peut, par exemple un échantillon, alorsalors il continuera à écrire de petits morceaux de données audio, ce qui peut devenir très coûteux, et éventuellement surcharger le processeur. </para> +<para +>Pour corriger ceci, le pilote devrait réveiller artsd uniquement s'il y a un fragment entier à écrire. </para> +</answer> +</qandaentry> + +<qandaentry> +<question> +<para +>Qu'est-ce qui ne va pas avec le pilote si j'ai des assertions ? </para> +</question> +<answer> +<para +>Habituellement, artsd utilise select() pour trouver quand écrire de nouvelles données. Ensuite, il utilise un ioctl(...GETOSPACE...) pour trouver la quantité d'informations à écrire. Enfin, il écrit ces données. </para> +<para +>Si artsd ne peut pas écrire autant de données que ce qui est spécifié par ioctl, il échouera dans son assertion. Pour corriger ceci, le pilote doit fournir la quantité correcte d'espace libre. </para> +</answer> +</qandaentry> +</qandaset> + +<qandaset id="faq-other"> +<title +>Divers</title> + +<qandaentry> +<question> +<para +>Je ne peux pas utiliser &arts-builder;. Il plante chaque fois que j'exécute un module ! </para> +</question> +<answer> +<para +>La cause la plus probable est que vous utilisez de vieilles structures ou de vieux modules qui ne sont pas reconnus pas la version pour &kde; 2. Malheureusement, la documentation disponible sur internet se réfère à &arts;-0.3.4.1 qui est une ancienne version. Le plantage le plus souvent rencontré est l'apparition du message d'erreur <errorname +>[artsd] Synth_PLAY:audio subsystem is already used.</errorname +> dans &arts-builder; lorsqu'une structure est exécutée. </para> + +<para +>Utilisez un module Synth_AMAN_PLAY plutôt qu'un module Synth_PLAY et le problème disparaîtra. Voyez aussi l'aide de &arts-builder; en appuyant sur <keycap +>F1</keycap +> depuis &arts-builder;). </para> + +<para +>Les versions récentes de &arts-builder; (&kde; 2.1 beta1 et suivantes) sont livrées avec plusieurs exemples. </para> +</answer> +</qandaentry> + +</qandaset> + +</chapter> diff --git a/tde-i18n-fr/docs/tdemultimedia/artsbuilder/glossary.docbook b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/glossary.docbook new file mode 100644 index 00000000000..495b4f53927 --- /dev/null +++ b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/glossary.docbook @@ -0,0 +1,179 @@ +<!-- <?xml version="1.0" ?> +<!DOCTYPE glossary PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd"> +To validate or process this file as a standalone document, uncomment +this prolog. Be sure to comment it out again when you are done --> + +<glossary id="glossary"> + +<glossentry id="gloss-alsa"> +<glossterm +><acronym +>ALSA</acronym +></glossterm> +<glossdef> +<para +>Advanced &Linux; Sound Architecture ; a &Linux; pilote de carte son il n'est pas inclus actuellement dans le code source du noyau standard. </para> +</glossdef> +</glossentry> + +<glossentry id="gloss-arts"> +<glossterm +>&arts;</glossterm> +<glossdef> +<para +>Analog Real-Time Synthesizer ; le nom de l'architecture/librairie/toolkit multimédia utilisés dans le projet &kde; (notez les majuscules) </para> +</glossdef> +</glossentry> + +<glossentry id="gloss-bsd"> +<glossterm +><acronym +>BSD</acronym +></glossterm> +<glossdef> +<para +>Berkeley Software Distribution ; se réfère à l'un des multiples systèmes d'exploitation compatibles &UNIX; dérivés de &UNIX; <acronym +>BSD</acronym +>. </para> +</glossdef> +</glossentry> + +<glossentry id="gloss-corba"> +<glossterm +><acronym +>CORBA</acronym +></glossterm> +<glossdef> +<para +>Common Object Request Broker Architecture ; un standard pour l'implantation d'exécution à distance orientée objet.. </para> +</glossdef> +</glossentry> + +<glossentry id="gloss-cvs"> +<glossterm +><acronym +>CVS</acronym +></glossterm> +<glossdef> +<para +>Concurrent Versions System ; un système de gestion de versions de fichiers utilisé dans beaucoup de projets, y compris &kde; et &arts;. </para> +</glossdef> +</glossentry> + +<glossentry id="glos-fft"> +<glossterm +><acronym +>FFT</acronym +></glossterm> +<glossdef> +<para +>Fast Fourier Transform ou transformée de Fourier rapide ; un algorithme pour convertir des données de l'espace des temps vers l'espace des fréquences ; souvent utilisé en traitement du signal. </para> +</glossdef> +</glossentry> + +<glossentry id="gloss-full-duplex"> +<glossterm +>Full Duplex</glossterm> +<glossdef> +<para +>Capacité d'une carte son à enregistrer et lire des données audio de manière simultanée. </para> +</glossdef> +</glossentry> + +<glossentry id="gloss-gpl"> +<glossterm +><acronym +>GPL</acronym +></glossterm> +<glossdef> +<para +><acronym +>GNU</acronym +> General Public License ; une licence pour logiciel crée par la Free Software Foundation et définissant les termes de la distribution des logiciels libres. </para> +</glossdef> +</glossentry> + +<glossentry id="gloss-gui"> +<glossterm +>&GUI;</glossterm> +<glossdef> +<para +>Graphical User Interface ou interface graphique utilisateur </para> +</glossdef> +</glossentry> + +<glossentry id="gloss-idl"> +<glossterm +><acronym +>IDL</acronym +></glossterm> +<glossdef> +<para +><foreignphrase +>Interface Definition Language</foreignphrase +> ; un langage de programmation indépendant du format pour spécifier des interfaces (méthodes et données). </para> +</glossdef> +</glossentry> + +<glossentry id="gloss-kde"> +<glossterm +>&kde;</glossterm> +<glossdef> +<para +><foreignphrase +>K Desktop Environment</foreignphrase +> ; un projet visant à développer un environnement de bureau graphique et libre pour les systèmes compatibles &UNIX;. </para> +</glossdef> +</glossentry> + +<glossentry id="gloss-lgpl"> +<glossterm +><acronym +>LGPL</acronym +></glossterm> +<glossdef> +<para +><acronym +>GNU</acronym +> Lesser General Public License ; une licence pour logiciel créée par la Free Software Foundation et définissant les termes de la distribution de logiciels libres ; plus restrictif que la licence <acronym +>GPL</acronym +> et souvent utilisée pour les librairies. </para> +</glossdef> +</glossentry> + +<glossentry id="gloss-mcop"> +<glossterm +>&MCOP;</glossterm> +<glossdef> +<para +>Multimedia COmmunication Protocol ; protocole utilisé pour la communication entre &arts;, les modules logiciels ; similaire à <acronym +>CORBA</acronym +> mais plus simple et optimisé pour le multimédia. </para> +</glossdef> +</glossentry> + +<glossentry id="gloss-midi"> +<glossterm +>&MIDI;</glossterm> +<glossdef> +<para +><foreignphrase +>Musical Instrument Digital Interface</foreignphrase +> ; protocole standard pour la communication entre instruments de musique électroniques ; aussi utilisé pour désigner le format des fichiers comportant des commandes &MIDI;. </para> +</glossdef> +</glossentry> + +<glossentry id="gloss-oss"> +<glossterm +><acronym +>OSS</acronym +></glossterm> +<glossdef> +<para +>Open Sound System ; pilotes sonores inclus dans le noyau de &Linux; (appelé aussi parfois <acronym +>OSS</acronym +>/Free) ou une version commerciale vendue par 4Front Technologies. </para> +</glossdef> +</glossentry> + +</glossary> diff --git a/tde-i18n-fr/docs/tdemultimedia/artsbuilder/gui.docbook b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/gui.docbook new file mode 100644 index 00000000000..b769c161b6b --- /dev/null +++ b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/gui.docbook @@ -0,0 +1,29 @@ +<!-- <?xml version="1.0" ?> +<!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd"> +To validate or process this file as a standalone document, uncomment +this prolog. Be sure to comment it out again when you are done --> + +<!-- +<chapter id="gui-elements"> +<title +>&GUI; Elements</title> + +<sect1 id="gui-introduction"> +<title +>Introduction</title> + +</sect1> + +<sect1 id="parents"> +<title +>Parents</title> + +</sect1> + +<sect1 id="mixers"> +<title +>Mixers</title> + +</sect1> +</chapter> +--> diff --git a/tde-i18n-fr/docs/tdemultimedia/artsbuilder/helping.docbook b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/helping.docbook new file mode 100644 index 00000000000..bc4a77487f5 --- /dev/null +++ b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/helping.docbook @@ -0,0 +1,239 @@ +<!-- <?xml version="1.0" ?> +<!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd"> +To validate or process this file as a standalone document, uncomment +this prolog. Be sure to comment it out again when you are done --> + +<chapter id="contributing"> +<title +>Contribuer à &arts;</title> + +<sect1 id="how-to-help"> +<title +>Comment nous aider</title> + +<para +>Le projet &arts; peut profiter de l'aide de développeurs pour rendre les applications multimédia existantes compatibles avec &arts;, pour écrire de nouvelles applications multimédia, et pour améliorer les fonctionnalités de &arts;. Cependant, vous pouvez contribuer sans être développeur. Nous avons besoin de l'aide de testeurs qui nous soumettent des rapports de bogue, de traducteurs pour l'application et la documentation dans d'autres langues, d'artistes pour réaliser les graphismes (particulièrement pour les modules de <application +>artsbuilder</application +>), de musiciens pour créer de nouveaux modules pour &arts;, et de rédacteurs pour écrire ou améliorer la documentation. </para> +</sect1> + +<sect1 id="mailing-lists"> +<title +>Listes de discussion</title> + +<para +>Les discussions relatives au développement de &arts; ont lieu sur deux listes de discussions. Nous y parlons des nouvelles idées de caractéristiques et d'implantations, et nous y résolvons un certain nombre de problèmes. </para> + +<para +>La liste de discussion &kde; Multimedia concerne les problèmes multimédia de &kde; en général, y compris &arts; et les applications multimédia comme &noatun; et &aktion;. Vous pouvez vous y inscrire depuis la page web à <ulink url="http://www.kde.org/mailinglists.html" +>http://www.kde.org/mailinglists.html</ulink +> ou envoyer un message électronique dont le sujet est <userinput +>subscribe<replaceable +>votre adresse électronique</replaceable +></userinput +> à <email +>kde-multimedia-request@kde.org</email +>. Cette liste est aussi archivée à <ulink url="http://lists.kde.org" +>http://lists.kde.org</ulink +>. </para> + +<para +>La liste de discussion de &arts; est spécifique à &arts;, y compris les utilisations de &arts; indépendamment de &kde;. Pour vous inscrire, envoyez un message électronique avec le message <userinput +>subscribe <replaceable +>votre adresse électronique</replaceable +></userinput +> à <email +>arts-request@space.twc.de</email +> La liste est archivée à <ulink url="http://space.twc.de/~stefan/arts-archive" +>http://space.twc.de/~stefan/arts-archive</ulink +>. </para> + +</sect1> + +<sect1 id="coding-standards"> +<title +>Style de programmation</title> + +<para +>Pour obtenir un code source homogène, il est important de garder un style de programmation dans tous les sources de &arts;. Même si vous écrivez simplement un module, essayez d'écrire et formater votre source en conséquence, de façon à faciliter le travail de différentes personnes dans la gestion des sources, et faciliter la copie de morceaux de codes d'un source vers un autre. </para> + +<variablelist> +<varlistentry> +<term +>Nom des fonctions membres</term> +<listitem> +<para +>Style &Qt;/&Java;, ce qui signifie une majuscule au début de chaque mot, et la première lettre toujours en minuscule ; aucun caractère de soulignement. </para> +<para +>Ceci signifie par exemple :</para> + +<programlisting +>createStructureDesc() + updateWidget(); + start(); </programlisting> + +</listitem> +</varlistentry> + +<varlistentry> +<term +>Membres de classes</term> +<listitem> +<para +>Les membres de classes s'écrivent en minuscule, comme par exemple menubar ou button. </para> + +<para +>Lorsqu'il y a des fonctions d'accès, le standard devrait être celui de &MCOP;, c'est-à-dire lorsque vous avez un membre <function +>foo</function +> de type long, qui ne doit pas être visible directement, vous créez les fonctions : </para> + +<programlisting +>foo(long new_value); + long foo(); </programlisting> + +<para +>pour récupérer et envoyer les valeurs. Dans ce cas, la valeur réelle de <function +>foo</function +> devrait être stockée dans <returnvalue +>_foo</returnvalue +>. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>Nom des classes</term> +<listitem> +<para +>Toutes les classes doivent s'écrire avec une majuscule au début de chaque mot, par exemple <classname +>ModuleView</classname +>, <classname +>SynthModule</classname +>. Les classes qui appartiennent aux librairies doivent utiliser les espaces de noms de &arts;, comme <classname +>Arts::Soundserver</classname +>. </para> +<para +>Les implantations des classes &MCOP; doivent être appelées <classname +>Class_impl</classname +>, comme par exemple <classname +>SoundServer_impl</classname +>. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>Paramètres</term> +<listitem> +<para +>Les paramètres sont toujours en minuscule. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>Variables locales</term> +<listitem> +<para +>Les variables locales sont toujours en minuscule, et ont des noms comme <varname +>i</varname +>, <varname +>p</varname +>, <varname +>x</varname +>, &etc; </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>Largeur de tabulation (largeur du décalage)</term> +<listitem> +<para +>Une tabulation correspond à 4 espaces. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>Espaces dans les expressions</term> +<listitem> +<para +>Vous n'avez normalement pas à utiliser d'espaces dans les expressions. Vous pouvez cependant les utiliser entre les opérateurs et leurs opérandes. Si vous placez un espace avant un opérateur (&pex; +), vous devez alors en placer un après l'opérateur. La seule exception correspond aux expressions de type liste (avec une virgule), où ou ne devez placer un espace qu'après la virgule, mais pas avant. Vous pouvez également ommettre la virgule ici. </para> +<para +>Les exemples suivants montrent une bonne utilisation des espaces : </para> +<programlisting +>{ + int a,b; + int c, d, e; + int f = 4; + + a=b=c=d+e+f; + a = b = c = d + e + f; + + if(a == 4) { + a = b = c = (d+e)/2; + } + + while(b<3) + c--; + + arts_debug("%d\n", c); +} +</programlisting> +<para +>Les exemples suivants montrent comment <emphasis +>ne</emphasis +> <emphasis +>pas</emphasis +> utiliser les espaces. Pour les appels de fonction, après if, while, for, switch &etc;, on ne met pas d'espace. </para> +<programlisting +>{ + // MAUVAIS : si vous écrivez une liste, écrivez les espces uniquement après la virgule + int a , b , c , d , e , f; + + // MAUVAIS : utilisation non symétrique des lesapces pour l'opérateur = + a= 5; + + // MAUVAIS : si considéré comme fonction, et n'est pas suivi par un espace + if (a == 5) { + } + + // MAUVAIS : n'écrivez pas d'espace après un while + while (a--) + b++; + + // MAUVAIS : les noms de fonctions ne sont pas suivis par un espace + arts_debug ("%d\n", c); + + // MAUVAIS : ni les noms de membres + Arts::Object o = Arts::Object::null (); +} +</programlisting> +</listitem> +</varlistentry> + + +<varlistentry> +<term +>Noms des fichiers sources</term> +<listitem> +<para +>Les fichiers sources sont en minuscule. Ils doivent porter le nom de la classe lorsqu'ils implantent une classe unique. Leur extension est <literal role="extension" +>.cc</literal +> s'ils contiennent du code indépendant de &Qt;/&GUI;, et <literal role="extension" +>..cpp</literal +> s'ils contiennent du code dépendant de &Qt;/&GUI;. Les fichiers d'implantation pour les interfaces doivent être appelés <filename +><replaceable +>foo</replaceable +>_impl</filename +>, si Foo est le nom de l'interface. </para> + +<para +>Les fichiers &IDL; doivent être appelés de manière descriptive pour l'ensemble des interfaces qu'ils contiennent, aussi tout en minuscule. En particulier, il est déconseillé de donner à un fichier &IDL; le nom de la classe elle-même, car le sélecteur de fichiers .mcopclass (.mcopclass trader) et les informations de type entreront en conflit. </para> +</listitem> +</varlistentry> +</variablelist> +</sect1> + +</chapter> diff --git a/tde-i18n-fr/docs/tdemultimedia/artsbuilder/images/Makefile.am b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/images/Makefile.am new file mode 100644 index 00000000000..3d042f5f96c --- /dev/null +++ b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/images/Makefile.am @@ -0,0 +1,4 @@ +KDE_LANG = fr +SUBDIRS = $(AUTODIRS) +KDE_DOCS = artsbuilder/images +KDE_MANS = AUTO diff --git a/tde-i18n-fr/docs/tdemultimedia/artsbuilder/images/Makefile.in b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/images/Makefile.in new file mode 100644 index 00000000000..c80f4d870d3 --- /dev/null +++ b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/images/Makefile.in @@ -0,0 +1,613 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# KDE tags expanded automatically by am_edit - $Revision: 483858 $ +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +subdir = docs/tdemultimedia/artsbuilder/images +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +#>- RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ +#>- html-recursive info-recursive install-data-recursive \ +#>- install-dvi-recursive install-exec-recursive \ +#>- install-html-recursive install-info-recursive \ +#>- install-pdf-recursive install-ps-recursive install-recursive \ +#>- installcheck-recursive installdirs-recursive pdf-recursive \ +#>- ps-recursive uninstall-recursive +#>+ 7 +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive nmcheck-recursive bcheck-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +#>+ 1 +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +ARTSCCONFIG = @ARTSCCONFIG@ +AUTOCONF = @AUTOCONF@ +AUTODIRS = @AUTODIRS@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CONF_FILES = @CONF_FILES@ +CYGPATH_W = @CYGPATH_W@ +DCOPIDL = @DCOPIDL@ +DCOPIDL2CPP = @DCOPIDL2CPP@ +DCOPIDLNG = @DCOPIDLNG@ +DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@ +DEFS = @DEFS@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +GMSGFMT = @GMSGFMT@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KCFG_DEPENDENCIES = @KCFG_DEPENDENCIES@ +KCONFIG_COMPILER = @KCONFIG_COMPILER@ +KDECONFIG = @KDECONFIG@ +KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@ +KDE_RPATH = @KDE_RPATH@ +KDE_XSL_STYLESHEET = @KDE_XSL_STYLESHEET@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MAKEKDEWIDGETS = @MAKEKDEWIDGETS@ +MCOPIDL = @MCOPIDL@ +MEINPROC = @MEINPROC@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +TOPSUBDIRS = @TOPSUBDIRS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XMLLINT = @XMLLINT@ +X_RPATH = @X_RPATH@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +am__leading_dot = @am__leading_dot@ +am__tar = @am__tar@ +am__untar = @am__untar@ +#>- bindir = @bindir@ +#>+ 2 +DEPDIR = .deps +bindir = @bindir@ +build_alias = @build_alias@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host_alias = @host_alias@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +kde_appsdir = @kde_appsdir@ +kde_bindir = @kde_bindir@ +kde_confdir = @kde_confdir@ +kde_datadir = @kde_datadir@ +kde_htmldir = @kde_htmldir@ +kde_icondir = @kde_icondir@ +kde_kcfgdir = @kde_kcfgdir@ +kde_libs_htmldir = @kde_libs_htmldir@ +kde_libs_prefix = @kde_libs_prefix@ +kde_locale = @kde_locale@ +kde_mimedir = @kde_mimedir@ +kde_moduledir = @kde_moduledir@ +kde_servicesdir = @kde_servicesdir@ +kde_servicetypesdir = @kde_servicetypesdir@ +kde_sounddir = @kde_sounddir@ +kde_styledir = @kde_styledir@ +kde_templatesdir = @kde_templatesdir@ +kde_wallpaperdir = @kde_wallpaperdir@ +kde_widgetdir = @kde_widgetdir@ +tdeinitdir = @tdeinitdir@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xdg_appsdir = @xdg_appsdir@ +xdg_directorydir = @xdg_directorydir@ +xdg_menudir = @xdg_menudir@ +KDE_LANG = fr +#>- SUBDIRS = $(AUTODIRS) +#>+ 1 +SUBDIRS =. +KDE_DOCS = artsbuilder/images +KDE_MANS = AUTO +#>- all: all-recursive +#>+ 1 +all: docs-am all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) +#>- @for dep in $?; do \ +#>- case '$(am__configure_deps)' in \ +#>- *$$dep*) \ +#>- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ +#>- && exit 0; \ +#>- exit 1;; \ +#>- esac; \ +#>- done; \ +#>- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/tdemultimedia/artsbuilder/images/Makefile'; \ +#>- cd $(top_srcdir) && \ +#>- $(AUTOMAKE) --gnu docs/tdemultimedia/artsbuilder/images/Makefile +#>+ 12 + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/tdemultimedia/artsbuilder/images/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu docs/tdemultimedia/artsbuilder/images/Makefile + cd $(top_srcdir) && perl ../scripts/admin/am_edit -p../scripts/admin docs/tdemultimedia/artsbuilder/images/Makefile.in +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +$(RECURSIVE_CLEAN_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +#>- distdir: $(DISTFILES) +#>+ 1 +distdir: distdir-nls $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +#>- uninstall: uninstall-recursive +#>+ 1 +uninstall: uninstall-nls uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +#>- clean: clean-recursive +#>+ 1 +clean: kde-rpo-clean clean-recursive + +#>- clean-am: clean-generic mostlyclean-am +#>+ 1 +clean-am: clean-bcheck clean-generic mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +#>- install-data-am: +#>+ 1 +install-data-am: install-nls + +install-dvi: install-dvi-recursive + +install-exec-am: + +install-html: install-html-recursive + +install-info: install-info-recursive + +install-man: + +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip + +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am clean clean-generic ctags \ + ctags-recursive distclean distclean-generic distclean-tags \ + distdir dvi dvi-am html html-am info info-am install \ + install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \ + tags-recursive uninstall uninstall-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: + +#>+ 2 +KDE_DIST=Synth_DELAY.png Makefile.in Makefile.am + +#>+ 2 +docs-am: Synth_DELAY.png + +#>+ 13 +install-nls: + $(mkinstalldirs) $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/artsbuilder/images + @for base in Synth_DELAY.png ; do \ + echo $(INSTALL_DATA) $$base $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/artsbuilder/images/$$base ;\ + $(INSTALL_DATA) $(srcdir)/$$base $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/artsbuilder/images/$$base ;\ + done + +uninstall-nls: + for base in Synth_DELAY.png ; do \ + rm -f $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/artsbuilder/images/$$base ;\ + done + + +#>+ 5 +distdir-nls: + for file in Synth_DELAY.png ; do \ + cp $(srcdir)/$$file $(distdir); \ + done + +#>+ 15 +force-reedit: + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/tdemultimedia/artsbuilder/images/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu docs/tdemultimedia/artsbuilder/images/Makefile + cd $(top_srcdir) && perl ../scripts/admin/am_edit -p../scripts/admin docs/tdemultimedia/artsbuilder/images/Makefile.in + + +#>+ 21 +clean-bcheck: + rm -f *.bchecktest.cc *.bchecktest.cc.class a.out + +bcheck: bcheck-recursive + +bcheck-am: + @for i in ; do \ + if test $(srcdir)/$$i -nt $$i.bchecktest.cc; then \ + echo "int main() {return 0;}" > $$i.bchecktest.cc ; \ + echo "#include \"$$i\"" >> $$i.bchecktest.cc ; \ + echo "$$i"; \ + if ! $(CXX) $(DEFS) -I. -I$(srcdir) -I$(top_builddir) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) --dump-class-hierarchy -c $$i.bchecktest.cc; then \ + rm -f $$i.bchecktest.cc; exit 1; \ + fi ; \ + echo "" >> $$i.bchecktest.cc.class; \ + perl $(top_srcdir)/admin/bcheck.pl $$i.bchecktest.cc.class || { rm -f $$i.bchecktest.cc; exit 1; }; \ + rm -f a.out; \ + fi ; \ + done + + +#>+ 3 +final: + $(MAKE) all-am + +#>+ 3 +final-install: + $(MAKE) install-am + +#>+ 3 +no-final: + $(MAKE) all-am + +#>+ 3 +no-final-install: + $(MAKE) install-am + +#>+ 3 +kde-rpo-clean: + -rm -f *.rpo + +#>+ 3 +nmcheck: +nmcheck-am: nmcheck diff --git a/tde-i18n-fr/docs/tdemultimedia/artsbuilder/images/Synth_DELAY.png b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/images/Synth_DELAY.png Binary files differnew file mode 100644 index 00000000000..1fdf9b5d149 --- /dev/null +++ b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/images/Synth_DELAY.png diff --git a/tde-i18n-fr/docs/tdemultimedia/artsbuilder/midi.docbook b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/midi.docbook new file mode 100644 index 00000000000..92d3a8e3226 --- /dev/null +++ b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/midi.docbook @@ -0,0 +1,524 @@ +<!-- <?xml version="1.0" ?> +<!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd"> +To validate or process this file as a standalone document, uncomment +this prolog. Be sure to comment it out again when you are done --> + +<chapter id="midi"> +<title +>&MIDI;</title> + +<sect1 id="midi-overview"> +<title +>Aperçu</title> + +<!-- what-to-say-here: aRts has three roles + * moving midi events around between applications + * abstracting the hardware + * synthesizer --> + +<para +>La gestion du &MIDI; dans &arts; permet de faire beaucoup de choses. Tout d'abord, elle permet la <emphasis +>communication</emphasis +> entre différentes parties d'un logiciel qui produit ou utilise des événements &MIDI;. Si par exemple vous avez un séquenceur et un échantillonneur qui sont compatibles avec &arts;, &arts; peut envoyer des événements &MIDI; du séquenceur vers l'échantillonneur. </para> + +<para +>D'un autre côté, &arts; peut aussi aider des applications à <emphasis +>interagir avec le matériel</emphasis +>. Si une partie d'un logiciel (par exemple l'échantillonneur) travaille avec &arts;, il sera capable de recevoir des événements &MIDI; depuis un clavier &MIDI; externe aussi. </para> + +<para +>Finalement, &arts; constitue un <emphasis +>synthétiseur modulaire</emphasis +> sympathique. Il est exactement conçu pour cela. Vous pouvez donc construire des instruments à partir de petits modules en utilisant artsbuilder, puis ensuite les réutiliser pour composer et jouer de la musique. Synthèse ne signifie pas forcément synthèse pure, il y a des modules qui vous permettent de jouer des échantillons. &arts; peut donc être un échantillonneur, un synthétiseur, etc. et étant entièrement modulaire, il est très facile de l'étendre, facile à prendre en main, puissant et flexible. </para> +</sect1> + +<sect1 id="midi-manager"> +<title +>Le gestionnaire &MIDI;</title> +<!-- what-to-say-here: + * how to use artscontrol - view midimanager + * what does autorestore do? (not yet implemented - so not yet documented) --> + +<para +>Le composant central de &arts; qui garde une trace de quelles applications sont connectées et comment les événements midi doivent circuler entre elles est le gestionnaire midi. Pour voir ou modifier ce qu'il fait, démarrez artscontrol. Ensuite, choisissez <menuchoice +><guilabel +>Affichage</guilabel +><guilabel +>Voir le gestionnaire Midi</guilabel +></menuchoice +> dans le menu. </para> + +<para +>Sur la gauche, vous verrez <guilabel +>Entrées Midi</guilabel +>. Ici, tous les objets qui produisent des événements &MIDI;, comme un port &MIDI; externe qui envoie des données depuis un clavier &MIDI;, un séquenceur qui joue un morceau, etc. sont listés. Sur la droite, vous verrez <guilabel +>Sorties Midi</guilabel +>. Ici, vous trouverez la liste de tous ce qui utilise les événements &MIDI;, comme un échantillonneur logiciel, ou un port &MIDI; externe sur lequel un échantillonneur matériel peut être connecté. Les nouvelles applications, comme les séquenceurs, s'enregistrent toutes seules de telle sorte que cette liste est susceptible de changer au cours du temps. </para> + +<para +>Vous pouvez connecter les entrées aux sorties si vous marquez l'entrée à droite et la sortie à gauche, et choisissez <guilabel +>Connecter...</guilabel +> avec le bouton en bas. <guilabel +>Déconnecter</guilabel +> fonctionne de la même manière. Vous verrez ce qui est connecté grâce à de petites lignes entre les entrées et les sorties, au milieu de la fenêtre. Notez que vous pouvez connecter un émetteur vers plus d'un récepteur (et vice versa). </para> + +<para +>Certains programmes (comme le séquenceur Brahms) s'ajouteront d'eux même lorsqu'ils démarrent et seront enlevés de la liste lorsqu'ils s'arrêtent. Vous pouvez toutefois ajouter de nouveaux éléments avec le menu <guilabel +>ajouter</guilabel +> : </para> + +<variablelist> +<varlistentry> +<term +><guimenuitem +>Port Midi (OSS)</guimenuitem +></term> +<listitem> +<para +>Ceci créera un nouvel objet &arts; qui communique avec un port midi externe. </para> + +<para +>Comme les ports midi peuvent à la fois envoyer et recevoir des données, choisir cette option ajoutera une entrée midi et une sortie midi. Sous &Linux;, vous devriez avoir soit un <acronym +>OSS</acronym +> (ou <acronym +>OSS</acronym +>/Free, qui est fourni avec le noyau de &Linux;) ou un pilote <acronym +>ALSA</acronym +> permettant de faire fonctionner votre carte son. On vous demandera le nom du périphérique. Habituellement, il s'agit de <filename class="devicefile" +>/dev/midi</filename +> ou <filename class="devicefile" +>/dev/midi00</filename +>. </para> + +<para +>Cependant, si vous avez plus d'un périphérique &MIDI;ou un pilote &MIDI; loopback installé, vous devriez avoir plus de choix. Pour voir les informations sur les ports midi, démarrez le &kcontrolcenter;, et choisissez <menuchoice +><guilabel +>Information</guilabel +><guilabel +>Son</guilabel +></menuchoice +>. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><guimenuitem +>Sortie Midi du synthétiseur aRts</guimenuitem +></term> +<listitem> +<para +>Ceci va ajouter une nouvelle sortie &MIDI; avec un instrument synthétisé par &arts;. Si vous choisissez cette entrée du menu, une boîte de dialogue va apparaître, vous permettant de choisir un instrument. Vous pouvez créer de nouveaux instruments en utilisant artsbuilder. Tous les fichiers <literal role="extension" +>.arts</literal +> dont le nom commence par <filename +>instrument_</filename +> apparaîtront ici. </para> +</listitem> +</varlistentry> +</variablelist> + +</sect1> + +<sect1 id="brahms"> +<title +>Utiliser &arts; & Brahms</title> + +<para +>En réalité, c'est facile de débuter. Vous avez besoin d'une version de &brahms; pour &kde; 2.1, qui se trouve dans le module <acronym +>CVS</acronym +> <literal +>kmusic</literal +>. Il y a aussi des informations sur la façon de se procurer &brahms; sur le <ulink url="http://www.arts-project.org/" +>site web de aRts</ulink +> dans la section Download. </para> + +<para +>Lorsque vous le démarrez, il affiche le gestionnaire &MIDI;. Si vous voulez faire de la synthèse, ajoutez simplement un instrument &MIDI; de synthèse via <menuchoice +><guilabel +>Ajouter</guilabel +><guilabel +>Sortie Midi du synthétiseur aRts</guilabel +></menuchoice +>. </para> + +<para +>Choisissez un instrument (par exemple <guilabel +>organ2</guilabel +>). Connectez-les en utilisant le bouton <guilabel +>Connect</guilabel +>. Enfin, vous pouvez commencer à composer avec &brahms;, et la sortie sera synthétisée avec &arts;. </para> + +<para +>Il est conseillé d'ouvrir une fenêtre du &artscontrol;, et de vérifier que le volume n'est pas trop fort (la qualité est moins bonne lorsque les bargraphs atteignent la limite supérieure). Maintenant, vous pouvez commencer à travailler sur un nouveau morceau de démo de &arts;, et lorsque ce sera fait, vous pouvez le publier sur aRts-project.org ! </para> + +<!-- TODO: how to do more than one instrument in Brahms (hm, not implemented + yet, not documented yet), how to use samples, mapping and so on. These + things need to be implemented, too. --> + +</sect1> + +<sect1 id="midisend"> +<title +>midisend</title> + +<para +><command +>midisend</command +> est une petite application qui vous permet d'envoyer des événements &MIDI; en utilisant le shell. Il va s'enregistrer comme client comme toutes les autres applications. La façon la plus simple de l'utiliser est de faire <screen +><prompt +>%</prompt +> <userinput +><command +>midisend</command +> <option +>-f</option +> <parameter +><replaceable +>/dev/midi00</replaceable +></parameter +></userinput +> </screen +> qui fera en gros la même chose que d'ajouter un port &MIDI; système dans le &artscontrol;. (pas tout à fait, puisque <command +>midisend</command +> ne fait qu'envoyer des événements). La différence est qu'il est facile par exemple de démarrer <command +>midisend</command +> sur plusieurs machines (et de cette façon, utiliser la transparence réseau). </para> + +<para +><command +>midisend</command +> peut aussi envoyer des données depuis <filename class="devicefile" +>stdin</filename +>. Vous pouvez utiliser ceci dans des tubes pour envoyer des données provenant d'applications non-&arts; vers &arts;, comme ceci : <screen +><prompt +>%</prompt +> <userinput +><command +><replaceable +>applicationwhichproducesmidieventsonstdout</replaceable +></command +> | <command +>midisend</command +> <option +>-f</option +> <option +><replaceable +>-</replaceable +></option +></userinput +></screen> +<!-- TODO: document all options --> +</para> + +</sect1> + +<sect1 id="midi-creating-instruments"> +<title +>Création d'instruments</title> + +<para +>La façon dont &arts; réalise la synthèse midi est la suivante : vous avez une structure qui contient des ports d'entrée, où elle récupère la fréquence, la vélocité (volume) et un paramètre qui indique si la note est toujours enfoncée. La structure devrait alors synthétiser exactement telle note avec tel volume, et réagir au paramètre "pressed" (ou pressed = 1 signifie que l'utilisateur appuie toujours cette touche, et 0 signifie que l'utilisateur a relâché la touche). </para> + +<para +>Lorsqu'un événement &MIDI; arrive, &arts; crée de nouvelles structures pour les notes suivant les besoins, leur passe les paramètres, et les efface une fois qu'elles ont terminé leur travail. </para> + +<para +>Pour créer et utiliser une telle structure, vous devez faire les choses suivantes : </para> + +<itemizedlist> +<listitem> +<para +>Pour démarrer, la façon la plus simple est d'ouvrir <filename +>template_Instrument.arts</filename +> dans &arts-builder;. </para> + +<para +>Allez dans <menuchoice +><guimenu +>Fichier</guimenu +><guimenuitem +>Ouvrir un exemple...</guimenuitem +></menuchoice +> et choisissez <guimenuitem +>template_Instrument</guimenuitem +> dans la zone de sélection de fichier. Vous obtiendrez alors une structure vide avec les paramètres requis, que vous devrez simplement <quote +>remplir</quote +>. </para> +</listitem> + +<listitem> +<para +>Pour traiter le paramètre pressed, il est préférable d'utiliser Synth_ENVELOPE_ADSR, ou s'il s'agit d'un son de percussions, jouez-le simplement sans vous soucier du paramètre pressed. </para> +</listitem> + +<listitem> +<para +>La structure devrait indiquer lorsqu'elle n'est plus utile avec la sortie <quote +>done</quote +>. Si done est égal à <returnvalue +>1</returnvalue +>, &arts; supprime alors les structures. Très pratique, l'enveloppe ADSR fournit un paramètre lorsqu'elle se termine, donc vous devez simplement le connecter à la sortie done de la structure. </para> +</listitem> + +<listitem> +<para +>Renommez votre structure avec un nom commençant par <filename +>instrument_</filename +>, comme par exemple <filename +>instrument_piano.arts</filename +> - enregistrez le fichier avec le même nom, dans votre dossier <filename class="directory" +>$<envar +>HOME</envar +>/arts/structures</filename +> (qui est le dossier ou enregistre arts par défaut). </para> +</listitem> + +<listitem> +<para +>Enfin, une fois que vous l'avez enregistré, vous pourrez l'utiliser avec le &artscontrol; dans le gestionnaire &MIDI;.</para> +</listitem> + +<listitem> +<para +>Oh, et bien sûr, votre structure devrait jouer les données audio qu'elle génère sur les sorties droite et gauche de la structure, qui sera joué ensuite par le gestionnaire audio (visible depuis le &artscontrol;), ou vous pouvez enfin les entendre (ou leur ajouter un post-traitement avec des effets). </para> +</listitem> +</itemizedlist> + +<para +>Une bonne façon d'apprendre à créer un instrument est d'ouvrir un instrument déjà existant via <menuchoice +><guilabel +>Fichier</guilabel +><guilabel +>Ouvrir un exemple</guilabel +></menuchoice +> et de regarder comment ça marche ! </para> +</sect1> + +<sect1 id="mapped-instruments"> +<title +>Instruments mappés</title> + +<para +>Les instruments mappés sont des instruments qui se comportent différemment suivant la hauteur, le programme (son), le canal ou la vélocité. Vous pourriez par exemple construire un piano sur 5 octaves, en utilisant un échantillon pour chaque octave (en le transposant en conséquence). Ça sonne beaucoup mieux qu'avec l'utilisation d'un seul échantillon. </para> + +<para +>Vous pourriez aussi construire un "drum map" qui joue un échantillon de batterie spécifique par touche. </para> + +<para +>Enfin, il est très utile de placer différents sons dans un instrument mappé. De cette façon, vous pouvez utiliser votre séquenceur, clavier externe ou autre source &MIDI; pour basculer entre les sons sans avoir à revenir à &arts; lorsque vous travaillez. </para> + +<para +>Un bon exemple pour ceci est l'instrument <filename +>arts_all</filename +>, qui place simplement tous les instruments fournis avec &arts; dans une même map. De cette façon, vous avez juste à paramétrer le &artscontrol; une seule fois pour utiliser cet <quote +>instrument</quote +>, et ensuite, vous pouvez composer un morceau entier avec un séquenceur sans vous soucier de &arts;. Vous avez besoin d'un autre son ? Changez simplement de programme dans le séquenceur, et &arts; vous donnera un autre son. </para> + +<para +>La création de telles maps est relativement facile. Créez simplement un fichier texte, et écrivez des règles qui ressemblent à : </para> + +<programlisting +>ON <replaceable +>[ conditions...]</replaceable +> DOstructure=<replaceable +>une_structure</replaceable +>.arts +</programlisting> + +<para +>Les conditions peuvent être une ou plusieurs des valeurs suivantes : </para> + +<variablelist> + +<varlistentry> +<term +><option +>pitch</option +></term> + +<listitem> +<para +>Hauteur du son qui doit être joué. Vous utiliserez ceci si vous voulez découper votre instrument en fonction de la hauteur. Dans nos exemples initiaux, un piano qui utilise différents échantillons pour différentes octaves utiliserait cette condition. Vous pouvez spécifier une hauteur unique, comme <userinput +><option +>pitch</option +>=<parameter +>62</parameter +></userinput +> ou une plage de hauteur, comme <userinput +><option +>pitch</option +>=<parameter +>60</parameter +>-<parameter +>72</parameter +></userinput +>. Les valeurs possibles sont comprises entre <parameter +>0</parameter +> et <parameter +>127</parameter +>. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><option +>program</option +></term> +<listitem> +<para +>Le programme actif sur le canal sur lequel est envoyée la note. Habituellement, les séquenceurs vous permettent de choisir l'<quote +>instrument</quote +> par un réglage du programme. Des programmes uniques ou une plage de programmes sont permis, comme <userinput +><option +>program</option +>=<parameter +>3</parameter +></userinput +> ou <userinput +><option +>program</option +>=<parameter +>3</parameter +>-<parameter +>6</parameter +></userinput +>. Les programmes possibles sont compris entre <parameter +>0</parameter +> et <parameter +>127</parameter +>. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><option +>channel</option +></term> +<listitem> +<para +>Le canal sur lequel la note est envoyée. Des canaux uniques ou une plage de canaux sont permis, comme <userinput +><option +>channel</option +>=<parameter +>0</parameter +></userinput +> ou <userinput +><option +>channel</option +>=<parameter +>0</parameter +>-<parameter +>8</parameter +></userinput +>. Les valeurs possibles sont comprises entre <parameter +>0</parameter +> et <parameter +>15</parameter +>. </para> +</listitem> + +</varlistentry> +<varlistentry> +<term +><option +>velocity</option +></term> +<listitem> +<para +>La vélocité (volume) de la note. Des vélocités uniques (qui utiliserait ça ?) ou une plage de vélocités sont permises, comme<userinput +><option +>velocity</option +>=<parameter +>127</parameter +></userinput +> ou <userinput +><option +>velocity</option +>=<parameter +>64</parameter +>-<parameter +>127</parameter +></userinput +>. Les valeurs possibles sont comprises entre <parameter +>0</parameter +> et <parameter +>127</parameter +>. </para> +</listitem> +</varlistentry> +</variablelist> + +<para +>Un exemple complet de map serait (ceci est extrait de la map <filename +>instrument_arts_all.arts</filename +>) : </para> + +<programlisting +>ON program=0 DO structure=instrument_tri.arts +ON program=1 DO structure=instrument_organ2.arts +ON program=2 DO structure=instrument_slide1.arts +ON program=3 DO structure=instrument_square.arts +ON program=4 DO structure=instrument_neworgan.arts +ON program=5 DO structure=instrument_nokind.arts +ON program=6 DO structure=instrument_full_square.arts +ON program=7 DO structure=instrument_simple_sin.arts +ON program=8 DO structure=instrument_simple_square.arts +ON program=9 DO structure=instrument_simple_tri.arts +ON program=10 DO structure=instrument_slide.arts +ON program=11 pitch=60 DO structure=instrument_deepdrum.arts +ON program=11 pitch=61 DO structure=instrument_chirpdrum.arts +</programlisting> + +<para +>Comme vous pouvez le voir, la structure est choisie en fonction du programme. Pour le programme 11, vous voyez un <quote +>drum map</quote +> (avec deux entrées), qui devrait jouer un son de <quote +>deepdrum</quote +> sur C-5 (hauteur=60), et un son de <quote +>chirpdrum</quote +> on C#5 (pitch=61). </para> + +<para +>Pour que les fichiers map apparaissent automatiquement dans le &artscontrol; en tant qu'instruments, ils doivent être nommés <filename +>instrument_<replaceable +>quelque_chose</replaceable +>.arts-map</filename +> et résider soit dans votre dossier utilisateur, dans <filename class="directory" +>$<envar +>HOME</envar +>/arts/structures</filename +>, soit dans le dossier de &kde;, dans <filename class="directory" +>$<envar +>KDEDIR</envar +>/usr/local/kde/share/apps/artsbuilder/examples</filename +>. Les structures qui sont utilisées par les maps peuvent être données soit avec un chemin absolu, soit relativement au dossier contenant le fichier map. </para> + +<para +>Étendre la map arts_all ou même faire une map au format general &MIDI; complète pour &arts; est une bonne idée pour faciliter l'utilisation de &arts; pour une utilisation en dehors du cadre de &arts;. N'hésitez pas à contribuer au projet par la création d'instruments, de façon à les inclure dans les versions futures de &arts;. </para> +</sect1> + +<!-- TODO: Maybe helpful + * using an external keyboard + * loopback midi device + +<sect1 id="quick-start"> +<title +>Quick Start</title> + +</sect1> +<sect1 id="internal-details"> +<title +>More Internal Details</title> + +</sect1> + +<sect1 id="other-considerations"> +<title +>Other Considerations</title> + +</sect1> +--> + +</chapter> diff --git a/tde-i18n-fr/docs/tdemultimedia/artsbuilder/midiintro.docbook b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/midiintro.docbook new file mode 100644 index 00000000000..7995b53524e --- /dev/null +++ b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/midiintro.docbook @@ -0,0 +1,16 @@ +<!-- <?xml version="1.0" ?> +<!DOCTYPE appendix PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd"> +To validate or process this file as a standalone document, uncomment +this prolog. Be sure to comment it out again when you are done --> + +<appendix id="midi-introduction"> + +<title +>Introduction au <acronym +>MIDI</acronym +></title> + +<para +>Pas encore rédigé </para> + +</appendix> diff --git a/tde-i18n-fr/docs/tdemultimedia/artsbuilder/modules.docbook b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/modules.docbook new file mode 100644 index 00000000000..2b31a4e882d --- /dev/null +++ b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/modules.docbook @@ -0,0 +1,1314 @@ +<!-- <?xml version="1.0" ?> +<!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd"> +To validate or process this file as a standalone document, uncomment +this prolog. Be sure to comment it out again when you are done --> + +<chapter id="arts-modules"> +<title +>Modules de &arts;</title> + + <sect1 id="modules-introduction"> +<title +>Introduction</title> + +<para +>Ce chapitre décrit tous les modules standards de &arts;. Une des caractéristiques qui font la puissance de &arts; est le fait que les modules peuvent être connectés ensembles dans des structures pour implanter de nouvelles fonctions comme des effets et des instruments. </para> + +<para +>Les modules sont répartis en deux catégories. Les modules de synthèse sont utilisés pour implanter l'<quote +>ossature</quote +> qui manipule les flux de données multimédia pour créer de nouveaux effets, instruments, mélangeurs et applications. Les modules visuels vous permettent de fournir une interface utilisateur graphique afin de contrôler les structures sonores construites à partir des modules de synthèse. </para> + +</sect1> + +<sect1 id="synth-modules-reference"> +<title +>Manuel de référence des modules de synthèse</title> + + +<sect2 id="mcat-synth-arithmetic-mixing"> +<title +>Arithmétique + Mixage</title> + + + +<sect3 id="mref-synth-add-sect"> +<title +>Synth_ADD</title> +<anchor id="mref-synth-add"/> + +<mediaobject> +<imageobject> +<imagedata fileref="images/Synth_ADD.png" format="PNG"/></imageobject> +<textobject +><phrase +>Synth_ADD</phrase +></textobject> +</mediaobject> + +<para +>Ajoute deux signaux. </para> + +</sect3> + +<sect3 id="mref-synth-mul-sect"> +<title +>Synth_MUL</title> +<anchor id="mref-synth-mul"/> + +<mediaobject> +<imageobject> +<imagedata fileref="images/Synth_MUL.png" format="PNG"/></imageobject> +<textobject +><phrase +>Synth_MUL</phrase +></textobject> +</mediaobject> + +<para +>Multiplie un signal par un facteur. Vous pouvez l'utiliser pour atténuer des signaux (0 < facteur < 1), pour les amplifier (facteur > 1) ou pour les inverser (facteur < 0). Notez que le facteur peut être un signal et peut ne pas être constant (comme une enveloppe ou un signal réel). </para> + +</sect3> + +<sect3 id="mref-synth-multi-add-sect"> +<title +>Synth_MULTI_ADD</title> +<anchor id="mref-synth-multi-add"/> + +<mediaobject> +<imageobject> +<imagedata fileref="images/Synth_MULTI_ADD.png" + format="PNG"/></imageobject> +<textobject +><phrase +>Synth_MULTI_ADD</phrase +></textobject> +</mediaobject> + +<para +>Ajoute un nombre arbitraire de signaux. Si vous devez effectuer la somme des formes d'ondes produites par quatre oscillateurs différents, vous pouvez par exemple connecter toutes leurs sorties à un module Synth_MULTI_ADD. C'est plus efficace que d'utiliser trois modules Synth_ADD. </para> + +</sect3> + +<sect3 id="mref-synth-xfade-sect"> +<title +>Synth_XFADE</title> +<anchor id="mref-synth-xfade"/> + +<mediaobject> +<imageobject +><imagedata fileref="images/Synth_XFADE.png" format="PNG"/> +</imageobject> +<textobject +><phrase +>Synth_XFADE</phrase +></textobject> +</mediaobject> + +<para +>Mélange deux signaux. Si le taux saisi est -1, seul le canal de gauche sera entendu, et si c'est 1, seul le canal de droite sera entendu. Lorsqu'il vaut zéro, les deux signaux ont le même volume. </para> + +<para +>Ceci permet de vous assurer que le signal restera dans une certaine plage bien définie. Si vous aviez deux signaux qui étaient entre -1 et 1 avant le mélange, ils seront dans la même plage après. </para> +</sect3> + +<sect3 id="mref-synth-autopanner-sect"> +<title +>Synth_AUTOPANNER</title> +<anchor id="mref-synth-autopanner"/> + +<para +>Il prend un signal mono et crée un signal stéréo : ceci est utilisé pour régler automatiquement la panoramique du signal d'entrée entre les sorties droite et gauche. Cela rend les mixages plus vivants. On applique cet effet par exemple sur une guitare ou un son solo. </para> + +<para +>Connectez un <acronym +>LFO</acronym +> (NdT Low Frequency Oscillator : oscillateur basse fréquence), une onde sinusoïdale ou en dents de scie par exemple au port inlfo et sélectionnez une fréquence entre 0.1 et 5 Hz pour un effet traditionnel ou même pour un effet spécial. </para> + +</sect3> + +</sect2> + +<sect2 id="mcat-synth-busses"> +<title +>Bus</title> + +<sect3 id="mref-synth-bus-uplink-sect"> +<title +>Synth_BUS_UPLINK</title> +<anchor id="mref-synth-bus-uplink"/> + +<mediaobject> +<imageobject +><imagedata fileref="images/Synth_BUS_UPLINK.png" + format="PNG"/> +</imageobject> +<textobject +><phrase +>Synth_BUS_UPLINK</phrase +></textobject> +</mediaobject> + +<para +>Lien vers un bus. Envoyez les signaux sur les ports gauche et droit, et le nom d'un bus où les données doivent aller sur le port <quote +>bus</quote +>. Le signal constitué de tous les uplink avec ce nom apparaîtra sur chaque downlink sur ce <quote +>bus</quote +>. </para> +</sect3> + +<sect3 id="mref-synth-bus-downlink-sect"> +<title +>Synth_BUS_DOWNLINK</title> +<anchor id="mref-synth-bus-downlink"/> + +<mediaobject> +<imageobject> +<imagedata fileref="images/Synth_BUS_DOWNLINK.png" + format="PNG"/></imageobject> +<textobject +><phrase +>Synth_BUS_DOWNLINK</phrase +></textobject> +</mediaobject> + +<para +>Collecte (la somme de) toutes les données qui sont placées sur un certain bus (avec le nom que vous spécifiez sur le port <quote +>bus</quote +>). </para> +</sect3> + +</sect2> + +<!-- TODO AFTER KDE2.1: move freeverb into delays, and rename category to + Delays & reverbs --> + +<sect2 id="mcat-synth-delays"> +<title +>Délais</title> + + + +<sect3 id="mref-synth-delay-sect"> +<title +>Synth_DELAY</title> +<anchor id="mref-synth-delay"/> + +<mediaobject> +<imageobject +><imagedata fileref="images/Synth_DELAY.png" + format="PNG"/></imageobject +></mediaobject> + +<para +>Retarde le signal d'entrée d'une certaine durée. La durée spécifiée doit être entre 0 et maxdelay pour un retard entre 0 et maxdelay secondes. </para> + +<para +>Ce genre de retard <emphasis +>ne devrait pas être utilisé</emphasis +> dans les structures avec des boucles de contre-réaction. Ceci est dû au fait que c'est un retard variable. Vous pouvez modifier sa longueur alors qu'il est en fonctionnement, et même mis à zéro. Mais comme dans une structure en boucle, la sortie est nécessaire pour calculer l'échantillon suivant, un délai avec une valeur qui tombe à zéro lors de la synthèse peut aboutir à une situation où plus rien ne se passe. </para> + +<para +>Utilisez alors plutôt CDELAY dans ce cas, combinez peut-être une valeur constante petite (de l'ordre de 0.001 seconde) avec une valeur variable. </para> + +<para +>Vous pouvez aussi combiner un CDELAY et un DELAY pour obtenir un retard de durée variable avec une valeur minimale dans une boucle à contre-réaction. Assurez-vous que vous avez un CDELAY. </para> + +</sect3> + +<sect3 id="mref-synth-cdelay-sect"> +<title +>Synth_CDELAY</title> +<anchor id="mref-synth-cdelay"/> + +<mediaobject> +<imageobject +><imagedata fileref="images/Synth_CDELAY.png" +format="PNG"/></imageobject> +<textobject +><phrase +>Synth_CDELAY</phrase +></textobject> +</mediaobject> + +<para +>Retarde le signal d'entrée d'une certaine durée. Cette durée doit être supérieure à 0 pour un délai supérieur à 0 seconde. Le délai est constant lors du calcul, ce qui signifie qu'il ne peut pas être modifié. </para> + +<para +>Il permet de gagner en temps de calcul puisqu'aucune interpolation n'est effectuée, et il est utile dans les structures récursives. Voir la description précédente (Synth_DELAY). </para> + +</sect3> + +</sect2> + +<sect2 id="mcat-synth-envelopes"> +<title +>Enveloppes</title> + + + +<sect3 id="mref-synth-envelope-adsr-sect"> +<title +>Synth_ENVELOPE_ADSR</title> +<anchor id="mref-synth-envelope-adsr"/> + +<mediaobject> +<imageobject +><imagedata fileref="images/Synth_ENVELOPE_ADSR.png" + format="PNG"/></imageobject> +<textobject +><phrase +>Synth_ENVELOPE_ADSR</phrase +></textobject> +</mediaobject> + +<para +>C'est une enveloppe <acronym +>ADSR</acronym +> classique. Vous devez spécifier : </para> + +<variablelist> +<varlistentry> +<term +>active</term> +<listitem> +<para +>si la note est pressée par l'utilisateur </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>invalue</term> +<listitem> +<para +>signal d'entrée </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>attack</term> +<listitem> +<para +>durée entre le moment où l'utilisateur presse une note et celui où le signal atteint son amplitude maximale (en secondes) </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>decay</term> +<listitem> +<para +>durée entre le moment où le signal atteint son amplitude maximale et où le signal revient à un niveau constant (en secondes) </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>sustain</term> +<listitem> +<para +>niveau constant auquel le signal est maintenu après, jusqu'à ce que l'utilisateur relâche la touche </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>release</term> +<listitem> +<para +>durée entre le moment où l'utilisateur relâche la note et celui où le signal atteint une valeur nulle (en secondes) </para> +</listitem> +</varlistentry> +</variablelist> + +<para +>Vous obtiendrez le signal alors modulé par l'enveloppe sur le port outvalue. Si l'enveloppe <acronym +>ASDR</acronym +> est terminée, le port done passera à 1. Vous pouvez utiliser ceci pour fournir la sortie <quote +>done</quote +> d'un instrument (qui entraînera la suppression de la structure par le routeur &MIDI; une fois que la phase <quote +>release</quote +> est terminée). </para> + +</sect3> + +<sect3 id="mref-synth-pscale-sect"> +<title +>Synth_PSCALE</title> +<anchor id="mref-synth-pscale"/> + +<mediaobject> +<imageobject +><imagedata fileref="images/Synth_PSCALE.png" +format="PNG"/></imageobject> +<textobject +><phrase +>Synth_PSCALE</phrase +></textobject> +</mediaobject> + +<para +>Le module Synth_PSCALE va échelonner le signal audio qui lui est envoyé d'une valeur 0 (silence) jusqu'à 1 (volume original) puis 0 (silence), en tenant compte de la position (récupérée à partir d'un module Synth_SEQUENCE). La position où le pic survient est donnée par le paramètre pos. </para> + +<para +>Exemple : placer le maximum à 0.1 signifie que lorsque 10% de la note ont été joués, le volume a atteint son maximum, et commence à diminuer. </para> +</sect3> + +</sect2> + +<sect2 id="mcat-synth-effects"> +<title +>Effets</title> + +<sect3 id="mref-synth-freeverb-sect"> +<title +>Synth_FREEVERB</title> +<anchor id="mref-synth-freeverb"/> + +<mediaobject> +<imageobject +><imagedata fileref="images/Synth_FREEVERB.png" +format="PNG"/></imageobject> +<textobject +><phrase +>Synth_FREEVERB</phrase +></textobject> +</mediaobject> + +<para +>C'est un effet de réverbération. Dans l'implantation actuelle, il est conçu pour passer un signal stéréo dans la réverbération, et il ajoute le signal réverbéré au signal initial. </para> + +<note> +<para +>ceci signifie qu'il peut aussi être utilisé dans un StereoEffectStack </para> +</note> + +<para +>Le signal d'entrée doit être connecté à (inleft, inright), le signal de sortie se trouve sur (outleft, outright). </para> + +<para +>Les paramètres de configuration sont : </para> + +<variablelist> +<varlistentry> +<term +>roomsize</term> +<listitem> +<para +>Taille de la pièce simulée par la réverbération (plage : 0..1 où 1 est la plus grande pièce possible) </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>damp</term> +<listitem> +<para +>Ceci spécifie un filtre qui simule l'absorption des hautes fréquences par la pièce (plage : 0..1, où 1 correspond à une absorption des hautes fréquences plutôt agressive) </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>wet</term> +<listitem> +<para +>quantité de signal réverbéré (c'est-à-dire la quantité de signal qui devrait être modifié par les filtres, résultant en un <quote +>son réverbéré</quote +> </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>dry</term> +<listitem> +<para +>quantité de signal pur transmis, résultant d'un écho (ou délai combiné) plutôt que d'un effet de réverbération (plage : 0..1) </para> +<!-- TODO: do some measurements to show that this documentation -is- correct, +I am not sure if it is echo, or really pure (non-delayed), or multiple delay +or whatever --> +</listitem> +</varlistentry> + +<varlistentry> +<term +>width</term> +<listitem> +<para +>quantité de magie stéréo que l'algorithme de réverbération ajoute à l'effet, rendant le son réverbéré plus ample dans l'espace stéréo (plage : 0..1) </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>mode</term> +<listitem> +<para +>[ TODO : I think if mode is 1, the reverb holds the current image of thesound, whereas 0 is normal operation ] </para> +</listitem> +</varlistentry> +</variablelist> + +</sect3> + +<sect3 id="mref-synth-tremolo-sect"> +<title +>Synth_TREMOLO</title> +<anchor id="mref-synth-tremolo"/> + +<mediaobject +><imageobject +><imagedata fileref="images/Synth_TREMOLO.png" +format="PNG"/></imageobject> +<textobject +><phrase +>Synth_TREMOLO</phrase +></textobject> +</mediaobject> + +<para +>Il module l'amplitude du son avec un <acronym +>LFO</acronym +>. En général, vous utilisez une onde sinusoïdale, mais pourquoi vous limiter à ça ? Vous obtenez un effet intense qui ressort des arrangements à cause de sa dynamique élevée. L'effet de trémolo est toujours un des effets préférés des guitaristes, bien qu'il ne soit pas aussi populaire que dans les années 60. </para> + +<para +>[ TODO : currently this is implemented as invalue + abs(inlfo) - maybe it would make more sense to implement it as invalue * (1+inlfo*depth), where depth would be a parameter between 0..1 - decide this after &kde;2.1 ; if you have a comment, send a mail to the &arts; list ] </para> + +</sect3> +<sect3 id="mref-synth-fx-cflanger-sect"> +<title +>Synth_FX_CFLANGER</title> +<anchor id="mref-synth-fx-cflanger"/> + +<mediaobject +><imageobject +><imagedata +fileref="images/Synth_FX_CFLANGER.png" format="PNG"/></imageobject> +<textobject +><phrase +>Synth_FX_CFLANGER</phrase +></textobject> +</mediaobject> + +<para +>Un flanger est un effet de retard variable dans le temps. Pour simplifier, ce module est fourni et contient le code d'un flanger sur un seul canal. </para> + +<para +>Il contient les ports suivants :</para> + +<variablelist> +<varlistentry> +<term +>invalue</term> +<listitem> +<para +>Le signal que vous souhaitez traiter </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>lfo</term> +<listitem> +<para +>De préférence une onde sinusoïdale qui module le retard dans le franger (plage : -1&etc;1). </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>mintime</term> +<listitem> +<para +>Valeur minimale pour le retard dans le flanger, en millisecondes. Essayez quelque chose comme 1 ms. Utilisez des valeurs inférieures à 1000 ms. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>maxtime</term> +<listitem> +<para +>Valeur minimale pour le retard dans le flanger, en millisecondes. Essayez quelque chose comme 5 ms. Utilisez des valeurs inférieures à 100 ms. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>outvalue</term> +<listitem> +<para +>Signal de sortie. Il est important que vous le mélangiez avec le signal d'origine (non flangé) pour obtenir l'effet désiré. </para> +</listitem> +</varlistentry> +</variablelist> + +<tip> +<para +>Vous pouvez l'utiliser comme base pour un effet de chorus. </para> +</tip> + +</sect3> + +</sect2> + +<sect2 id="mcat-synth-filters"> +<title +>Filtres</title> + +<sect3 id="mref-synth-pitch-shift-sect"> +<title +>Synth_PITCH_SHIFT</title> +<anchor id="mref-synth-pitch-shift"/> + +<mediaobject +><imageobject +><imagedata +fileref="images/Synth_PITCH_SHIFT.png" format="PNG"/></imageobject> +<textobject +><phrase +>Synth_PITCH_SHIFT</phrase +></textobject> +</mediaobject> + +<para +>L'effet de pitch modifie la fréquence du signal d'entrée sans en modifier la vitesse. Par exemple, vous pouvez changer la hauteur de votre voix lors de l'enregistrement (et lors de la lecture) en temps réel. </para> + +<para +>Le paramètre <emphasis +>vitesse</emphasis +> est la vitesse relative avec laquelle le signal sera rejoué. Une vitesse de deux rend le son deux fois plus haut (&cad;une fréquence d'entrée de 440 Hz résultera en une sortie à 880 Hz). </para> + +<para +>Le paramètre <emphasis +>fréquence</emphasis +> est utilisé de manière interne pour changer le grain du signal. Il est accordable, et selon votre choix, le changement de hauteur semblera plus ou moins réaliste. Une bonne valeur de départ est quelque chose comme 5 ou 10. </para> + +</sect3> + +<sect3 id="mref-synth-shelve-cutoff-sect"> +<title +>Synth_SHELVE_CUTOFF</title> +<anchor id="mref-synth-shelve-cutoff"/> + +<mediaobject +><imageobject +><imagedata +fileref="images/Synth_SHELVE_CUTOFF.png" format="PNG"/></imageobject> +<textobject +><phrase +>Synth_SHELVE_CUTOFF</phrase +></textobject> +</mediaobject> + +<para +>Filtre toutes les fréquences supérieures à la fréquence de coupure. </para> + +</sect3> + +<sect3 id="mref-synth-brickwall-limiter-sect"> +<title +>Synth_BRICKWALL_LIMITER</title> +<anchor id="mref-synth-brickwall-limiter"/> + +<mediaobject +><imageobject +><imagedata +fileref="images/Synth_BRICKWALL_LIMITER.png" + format="PNG"/></imageobject> +<textobject +><phrase +>Synth_BRICKWALL_LIMITER</phrase +></textobject> +</mediaobject> + +<para +>Ce module écrête un signal pour le faire entrer dans la plage [-1;1]. Il ne fait rien pour éviter les distorsions dues à l'écrêtage de signaux trop forts. Vous pouvez l'utiliser comme effet (par exemple pour créer une onde sinusoïdale un peu écrêtée). Cependant, il est préférable d'envoyer ensuite le signal dans un filtre passe-bas pour rendre le son moins agressif. </para> +</sect3> + +<sect3 id="mref-synth-std-equalizer-sect"> +<title +>Synth_STD_EQUALIZER</title> +<anchor id="mref-synth-std-equalizer"/> + +<mediaobject +><imageobject +><imagedata +fileref="images/Synth_STD_EQUALIZER.png" format="PNG"/></imageobject> +<textobject +><phrase +>Synth_STD_EQUALIZER</phrase +></textobject> +</mediaobject> + +<para +>Un égaliseur paramétrique sympathique. Ses paramètres sont : </para> + +<variablelist> +<varlistentry> +<term +>invalue, outvalue</term> +<listitem> +<para +>Signal filtré par l'égaliseur. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>low</term> +<listitem> +<para +>Comment sont modifiées les basses fréquences. La valeur est en dB, et 0 signifie pas de changement sur les basses fréquences, -6 les atténue de 6 dB et +6 les amplifie de 6 dB. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>mid</term> +<listitem> +<para +>Comment sont modifiées les fréquences médium par l'égaliseur en dB (voir plus haut). </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>high</term> +<listitem> +<para +>Comment sont modifiées les fréquences aiguës par l'égaliseur en dB (voir plus haut). </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>frequency</term> +<listitem> +<para +>Fréquence centrale de l'égaliseur en Hz, les fréquences médium se situent autour de cette valeur, les graves et les aiguës sont respectivement avant et après cette fréquence. Notez que cette fréquence ne doit pas être supérieure à la moitié de la fréquence d'échantillonnage, habituellement 22050 Hz, et ne doit pas être inférieure à 1 Hz. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>q</term> +<listitem> +<para +>Influence la largeur du spectre des médiums. Ce doit être une valeur strictement positive. 1 est une valeur raisonnable, des valeurs supérieures signifient un spectre de fréquences médium plus fin. Des valeurs inférieures à 1 signifient un spectre plus large. </para> +</listitem> +</varlistentry> +</variablelist> + +</sect3> + +<sect3 id="mref-synth-rc-sect"> +<title +>Synth_RC</title> +<anchor id="mref-synth-rc"/> + +<mediaobject +><imageobject +><imagedata fileref="images/Synth_RC.png" +format="PNG"/></imageobject> +<textobject +><phrase +>Synth_RC</phrase +></textobject> +</mediaobject> + +<para +>Filtre résonant amorti : il filtre toutes les fréquences autour d'une valeur centrale. Il n'y a aucun moyen de spécifier la fréquence centrale (qui ne sera pas coupée), puisque les entrées sont deux constantes étranges f et b. Le code est très vieux, il doit dater de l'époque des premiers synthétiseurs, et sera probablement remplacé par un nouveau filtre qui aura deux paramètres : fréquence et résonance. </para> + +<para +>Essayez quelque chose comme b=5, f=5 ou b=10, f=10 ou b=15, f=15. </para> + +</sect3> + +<sect3 id="mref-synth-moog-vcf-sect"> +<title +>Synth_MOOG_VCF</title> +<anchor id="mref-synth-moog-vcf"/> + +<mediaobject +><imageobject +><imagedata fileref="images/Synth_MOOG_VCF.png" +format="PNG"/></imageobject> +<textobject +><phrase +>Synth_MOOG_VCF</phrase +></textobject> +</mediaobject> + +<para +>Filtre toutes les fréquences supérieures à la fréquence de coupure (c'est un filtre 24 dB, 4 pôles, qui filtre avec une pente de -24 dB par octave au-dessus de la fréquence de coupure), mais offre un paramètre supplémentaire pour régler la résonance du filtre, 0 signifie pas de résonance, et 4 correspond à des oscillations auto-entretenues (self oscillation). </para> + +</sect3> + +</sect2> + +<sect2 id="mcat-synth-midi-sequencing"> +<title +>Midi + Séquenceur</title> + +<sect3 id="mref-synth-midi-test-sect"> +<title +>Synth_MIDI_TEST</title> +<anchor id="mref-synth-midi-test"/> + +<mediaobject +><imageobject +><imagedata fileref="images/Synth_MIDI_TEST.png" +format="PNG"/></imageobject> +<textobject +><phrase +>Synth_MIDI_TEST</phrase +></textobject> +</mediaobject> + +<para +>Ce module charge une structure d'instrument depuis un fichier, et s'enregistre comme sortie midi après du gestionnaire &MIDI; de &arts;. Note : les notes envoyées vers cette sortie entraîneront la création de voix avec cet instrument. </para> + +<note> +<para +>Vous pouvez faire la même chose mais de manière beaucoup plus facilement dans &artscontrol; que manuellement dans &arts-builder;. </para> +</note> + +</sect3> + +<sect3 id="mref-synth-sequence-sect"> +<title +>Synth_SEQUENCE</title> +<anchor id="mref-synth-sequence"/> + +<mediaobject +><imageobject +><imagedata fileref="images/Synth_SEQUENCE.png" +format="PNG"/></imageobject +></mediaobject> + +<para +>Joue une séquence de notes en boucle. Les notes sont données en notation <quote +>tracker</quote +>, et sont séparées par des points-virgules, par exemple <literal +>A-3;C-4;E-4;C-4;</literal +>. La vitesse est donnée en secondes par note, donc si vous voulez un tempo de 120, choisissez 0.5 seconde/note, puisque 60 secondes/0.5 seconde par note = 120 bpm (NdT : bpm =beat per minute = pulsations par minute ou tempo). </para> + +<para +>Vous pouvez donner à chaque note une durée relative à la vitesse en utilisant le symbole deux points après la note, suivi de la durée, par exemple <literal +>A-3:2;C-4:0.5;D-4:0.5;E-4;</literal +>. Comme vous pouvez le voir, les séquenceurs midi sont beaucoup plus confortables. </para> + +<para +>Le module Synth_SEQUENCE donne des informations supplémentaires sur la position de la note qu'il joue, 0 signifie juste démarrée, et 1 signifie terminée. Vous pouvez utiliser cette information avec Synth_PSCALE (voir plus bas). </para> +</sect3> + +<sect3 id="mref-synth-sequence-freq-sect"> +<title +>Synth_SEQUENCE_FREQ</title> +<anchor id="mref-synth-sequence-freq"/> + +<mediaobject +><imageobject +><imagedata fileref="images/Synth_SEQUENCE_FREQ.png" +format="PNG"/></imageobject +></mediaobject> + +<para +>Ce module fonctionne comme un Synth_SEQUENCE, la seule différence étant que vous n'écrivez pas le nom des notes, mais leurs fréquences. </para> + +</sect3> + +</sect2> + +<sect2 id="mcat-synth-samples"> +<title +>Échantillons</title> + +<sect3 id="mref-synth-play-wav-sect"> +<title +>Synth_PLAY_WAV</title> +<anchor id="mref-synth-play-wav"/> + +<mediaobject> +<imageobject +><imagedata fileref="images/Synth_PLAY_WAV.png" +format="PNG"/></imageobject> +<textobject +><phrase +>Synth_PLAY_WAV</phrase +></textobject> +</mediaobject> + +<para +>Interprète un fichier <literal role="extension" +>wav</literal +>. Il ne sera présent que si vous avez installé libaudiofile. La lecture de l'échantillon débutera dès la création de la structure </para> + +<para +>Elle s'arrêtera à la fin de l'échantillon, et le paramètre finished passera alors à 1. Le paramètre speed est utilisé pour jouer le fichier plus ou moins vite, où 1.0 est la vitesse normale (vitesse d'enregistrement). </para> +<!-- TODO: KDE2.2: check that this really works together in instruments with +the done parameter things ;) --> +</sect3> + +</sect2> + +<sect2 id="mcat-synth-soundio"> +<title +>Entrées/sorties son</title> + +<sect3 id="mref-synth-play-sect"> +<title +>Synth_PLAY</title> +<anchor id="mref-synth-play"/> + +<mediaobject> +<imageobject +><imagedata fileref="images/Synth_PLAY.png" +format="PNG"/></imageobject> +<textobject +><phrase +>Synth_PLAY</phrase +></textobject> +</mediaobject> + +<important> +<para +>Vous n'aurez normalement pas besoin de ce module, tant que vous écrivez des applications autonomes. Dans &artsd;, il y a normalement déjà un module Synth_PLAY, et en créer un nouveau ne fonctionnera pas. </para> +</important> + +<para +>Le module Synth_PLAY dirige vos données audio vers la carte son. Les canaux droit et gauche devraient contenir les entrées <emphasis +>normalisées</emphasis +>. Si votre entrée n'est pas entre -1 et 1, le signal sera écrêté. </para> + +<para +>Comme mentionné précédemment, on ne peut utiliser qu'un module Synth_PLAY, puisqu'il accède directement à la carte son. Utilisez des bus si vous voulez mélanger plusieurs sources audio avant de les jouer. Utilisez un module Synth_AMAN_PLAY pour obtenir une sortie dans &artsd;. </para> + +<para +>Notez que Synth_PLAY joue aussi le rôle de référence temporelle pour toute la structure. Cela signifie : pas de module Synth_PLAY = pas de référence temporelle = pas de son. Vous avez donc besoin d'(exactement) un objet Synth_PLAY. </para> + +</sect3> + +<sect3 id="mref-synth-record-sect"> +<title +>Synth_RECORD</title> +<anchor id="mref-synth-record"/> + +<mediaobject +><imageobject +><imagedata fileref="images/Synth_RECORD.png" +format="PNG"/></imageobject> +<textobject +><phrase +>Synth_RECORD</phrase +></textobject> +</mediaobject> + +<important> +<para +>Vous n'aurez normalement pas besoin de ce module, tant que vous écrivez des applications autonomes. Dans artsd, il y a normalement déjà un module Synth_RECORD, et en créer un nouveau ne fonctionnera pas. </para> +</important> + +<para +>Le module Synth_RECORD enregistre un signal depuis la carte son. Les canaux droit et gauche devraient contenir l'entrée pour les canaux (entre -1 et 1). </para> + +<para +>Comme mentionné précédemment, on ne peut utiliser qu'un module Synth_RECORD, puisqu'il accède directement à la carte son. Utilisez des bus si vous voulez enregistrer plusieurs sources audio. Utilisez un module Synth_AMAN_RECORD pour obtenir une entrée dans artsd. Pour que ça fonctionne, &artsd; doit fonctionner en mode <emphasis +>full duplex</emphasis +> </para> +</sect3> + +<sect3 id="mref-synth-aman-play-sect"> +<title +>Synth_AMAN_PLAY</title> +<anchor id="mref-synth-aman-play"/> + +<mediaobject +><imageobject +><imagedata fileref="images/Synth_AMAN_PLAY.png" +format="PNG"/></imageobject> +<textobject +><phrase +>Synth_AMAN_PLAY</phrase +></textobject> +</mediaobject> + +<para +>Le module Synth_AMAN_PLAY constitue une sortie audio. Il est préférable (mais pas obligatoire) que votre sortie soit normalisée (entre -1 et 1). </para> + +<para +>Ce module utilise le gestionnaire audio pour déterminer où le signal sera joué. Le gestionnaire audio peut être contrôlé depuis &artscontrol;. Pour le rendre encore plus intuitif à utiliser, il est préférable de donner un nom au signal. Vous pouvez le faire avec <emphasis +>title</emphasis +>. Une autre caractéristique du gestionnaire audio est qu'il se souvient où a été joué un signal pour la dernière fois. Pour cela, il doit pouvoir distinguer les signaux. C'est pourquoi vous devez aussi assigner quelque chose d'unique à <emphasis +>autoRestoreID</emphasis +>. </para> +</sect3> + +<sect3 id="mref-synth-aman-record-sect"> +<title +>Synth_AMAN_RECORD</title> +<anchor id="mref-synth-aman-record"/> + +<mediaobject +><imageobject +><imagedata +fileref="images/Synth_AMAN_RECORD.png" format="PNG"/></imageobject> +<textobject +><phrase +>Synth_AMAN_RECORD</phrase +></textobject> +</mediaobject> + +<para +>Le module Synth_AMAN_RECORD enregistre le signal audio depuis une source extérieure (ligne/microphone) à travers &artsd;. La sortie est normalisée (entre -1 et 1). </para> + +<para +>Ce module utilise le gestionnaire audio pour déterminer où le signal sera joué. Le gestionnaire audio peut être contrôlé depuis artscontrol. Pour le rendre encore plus intuitif à utiliser, il est préférable de donner un nom au signal enregistré. Vous pouvez le faire avec <emphasis +>title</emphasis +>. Une autre caractéristique du gestionnaire audio est qu'il se souvient où a été enregistré un signal pour la dernière fois. Pour cela, il doit pouvoir distinguer les signaux. C'est pourquoi vous devez aussi assigner quelque chose d'unique à <emphasis +>autoRestoreID</emphasis +>. </para> +</sect3> + +<sect3 id="mref-synth-capture-sect"> +<title +>Synth_CAPTURE</title> +<anchor id="mref-synth-capture"/> + +<mediaobject +><imageobject +><imagedata fileref="images/Synth_CAPTURE.png" +format="PNG"/></imageobject> +<textobject +><phrase +>Synth_CAPTURE</phrase +></textobject> +</mediaobject> + +<para +>Le module Synth_CAPTURE enregistre un signal audio dans un fichier. Le fichier s'appellera toujours <filename +>/tmp/mcop-<replaceable +>usename</replaceable +>/capture.wav</filename +> </para> +</sect3> + +</sect2> + +<sect2 id="mcat-synth-tests"> +<title +>Tests</title> + +<sect3 id="mref-synth-nil-sect"> +<title +>Synth_NIL</title> +<anchor id="mref-synth-nil"/> + +<mediaobject +><imageobject +><imagedata fileref="images/Synth_NIL.png" +format="PNG"/></imageobject> +<textobject +><phrase +>Synth_NIL</phrase +></textobject> +</mediaobject> + +<para +>Ne fait rien. Il est juste utile à des fins de test. </para> + +</sect3> + +<sect3 id="mref-synth-debug-sect"> +<title +>Synth_DEBUG</title> +<anchor id="mref-synth-debug"/> + +<mediaobject +><imageobject +><imagedata fileref="images/Synth_DEBUG.png" +format="PNG"/></imageobject> +<textobject +><phrase +>Synth_DEBUG</phrase +></textobject> +</mediaobject> + +<para +>Vous pouvez l'utiliser pour déboguer. Il affiche les valeurs en entier à intervalles réguliers (par exemples une seconde), combiné avec un commentaire que vous avez spécifié. Vous pouvez ainsi vérifier que votre signal reste confiné dans une certaine plage, ou tout simplement s'il est présent. </para> +</sect3> + +<sect3 id="mref-synth-midi-debug-sect"> +<title +>Synth_MIDI_DEBUG</title> +<anchor id="mref-synth-midi-debug"/> + +<mediaobject +><imageobject +><imagedata fileref="images/Synth_MIDI_DEBUG.png" +format="PNG"/></imageobject> +<textobject +><phrase +>Synth_MIDI_DEBUG</phrase +></textobject> +</mediaobject> + +<para +>Vous pouvez l'utiliser pour déboguer l'arrivée des événements &MIDI; dans &arts;. </para> + +<para +>Lorsqu'un MIDI_DEBUG fonctionne, &artsserver; affichera une ligne comme : </para> + +<screen +><computeroutput +>201 100753.837585 on 0 42 127</computeroutput +></screen> + +<screen +><computeroutput +>202 101323.128355 off 0 42</computeroutput +></screen> + +<para +>La première ligne vous dirait que 100753 ms (c'est-à-dire 100 secondes) après le démarrage de MIDI_DEBUG, un événement &MIDI; on est arrivé sur le canal 0. Ce message midi on avait une vélocité (volume) de 127, le plus fort possible. La ligne suivante montre l'événement de fin de note.[ TODO : this does not work currently, make it work, and do it via midi manager] </para> +</sect3> + +<sect3 id="mref-synth-data-sect"> +<title +>Synth_DATA</title> +<anchor id="mref-synth-data"/> + +<mediaobject +><imageobject +><imagedata fileref="images/Synth_DATA.png" +format="PNG"/></imageobject> +<textobject +><phrase +>Synth_DATA</phrase +></textobject> +</mediaobject> + +<para +>Crée un signal avec une valeur constante. </para> +<!-- TODO: this doesn't really belong in test, does it? --> +</sect3> +</sect2> + +<sect2 id="mcat-synth-osc-mod"> +<title +>Oscillateurs et Modulation</title> + +<sect3 id="mref-synth-frequency-sect"> +<title +>Synth_FREQUENCY</title> +<anchor id="mref-synth-frequency"/> + +<mediaobject +><imageobject +><imagedata fileref="images/Synth_FREQUENCY.png" +format="PNG"/></imageobject> +<textobject +><phrase +>Synth_FREQUENCY</phrase +></textobject> +</mediaobject> + +<para +>Dans &arts;, les oscillateurs ne nécessitent pas une fréquence en entrée, mais une position dans l'échantillon. Cette position doit être comprise entre 0 et 1, ce qui correspond pour un objet Synth_WAVE_SIN standard à la plage 0..2*pi. Pour générer des valeurs d'oscillation à partir d'une fréquence, un module Synth_FREQUENCY est utilisé. </para> +</sect3> + +<sect3 id="mref-synth-fm-source-sect"> +<title +>Synth_FM_SOURCE</title> +<anchor id="mref-synth-fm-source"/> + +<mediaobject +><imageobject +><imagedata fileref="images/Synth_FM_SOURCE.png" +format="PNG"/></imageobject> +<textobject +><phrase +>Synth_FM_SOURCE</phrase +></textobject> +</mediaobject> + +<para +>Utilisé pour la modulation de fréquence. Mettez votre fréquence à l'entrée qui lui est dédiée, et envoyez un autre signal dans l'entrée du modulateur. Réglez alors le niveau de modulation, par exemple 0,3. La fréquence sera alors modulée par le modulateur. Essayez simplement. Ça sonne bien si vous y mettez une contre-réaction, ce qui signifie que vous prenez une combinaison du signal de sortie retardé d'un module Synth_FM_SOURCE (vous devez le relier à un oscillateur puisqu'il ne joue que le rôle d'un module Synth_FREQUENCY) et d'un autre signal pour obtenir de bons résultats. </para> + +<para +>Ça fonctionne bien en combinaison avec des oscillateurs Synth_WAVE_SIN. </para> +</sect3> + +</sect2> + +<sect2 id="mcat-synth-waveforms"> +<title +>Formes d'ondes</title> + +<sect3 id="mref-synth-wave-sin-sect"> +<title +>Synth_WAVE_SIN</title> +<anchor id="mref-synth-wave-sin"/> + +<mediaobject +><imageobject +><imagedata fileref="images/Synth_WAVE_SIN.png" +format="PNG"/></imageobject> +<textobject +><phrase +>Synth_WAVE_SIN</phrase +></textobject> +</mediaobject> + +<para +>Oscillateur sinusoïdal. Envoyez un signal pos d'un module Synth_FREQUENCY ou Synth_FM_SOURCE en entrée. Vous obtiendrez une onde sinusoïdale en sortie. Le signal pos spécifie une position dans l'onde, la plage 0..1 est modifiée en 0..2*pi de manière interne. </para> + +</sect3> + +<sect3 id="mref-synth-wave-tri-sect"> +<title +>Synth_WAVE_TRI</title> +<anchor id="mref-synth-wave-tri"/> + +<mediaobject +><imageobject +><imagedata fileref="images/Synth_WAVE_TRI.png" +format="PNG"/></imageobject> +<textobject +><phrase +>Synth_WAVE_TRI</phrase +></textobject> +</mediaobject> + +<para +>Oscillateur triangulaire. Envoyez un signal pos d'un module Synth_FREQUENCY ou Synth_FM_SOURCE en entrée. Vous obtiendrez une onde triangulaire. Le signal pos spécifie une position dans l'onde, la plage 0..1 est modifiée en 0..2*pi de manière interne. Soyez prudent. Le signal d'entrée <emphasis +>doit</emphasis +> se situer dans la plage 0..1 pour que le signal de sortie donne de bons résultats. </para> +</sect3> + +<sect3 id="mref-synth-noise-sect"> +<title +>Synth_NOISE</title> +<anchor id="mref-synth-noise"/> + +<mediaobject +><imageobject +><imagedata fileref="images/Synth_NOISE.png" +format="PNG"/></imageobject> +<textobject +><phrase +>Synth_NOISE</phrase +></textobject> +</mediaobject> + +<para +>Générateur de bruit. Génère un signal aléatoire entre -1 et 1. </para> + +</sect3> + +<sect3 id="mref-synth-wave-square-sect"> +<title +>Synth_WAVE_SQUARE</title> +<anchor id="mref-synth-wave-square"/> + +<mediaobject +><imageobject +><imagedata +fileref="images/Synth_WAVE_SQUARE.png" format="PNG"/></imageobject> +<textobject +><phrase +>Synth_WAVE_SQUARE</phrase +></textobject> +</mediaobject> + +<para +>Oscillateur générant un signal carré. Envoyez un signal pos d'un module Synth_FREQUENCY ou Synth_FM_SOURCE en entrée. Vous obtiendrez une onde carrée. Le signal pos spécifie une position dans l'onde, la plage 0..1 est modifiée en 0..2*pi de manière interne. Soyez prudent. Le signal d'entrée <emphasis +>doit</emphasis +> se situer dans la plage 0..1 pour que le signal de sortie donne de bons résultats. </para> +</sect3> + +<sect3 id="mref-synth-wave-softsaw-sect"> +<title +>Synth_WAVE_SOFTSAW</title> +<anchor id="mref-synth-wave-softsaw"/> + +<mediaobject +><imageobject +><imagedata +fileref="images/Synth_WAVE_SOFTSAW.png" format="PNG"/></imageobject> +<textobject +><phrase +>Synth_WAVE_SOFTSAW</phrase +></textobject> +</mediaobject> + +<para +>Oscillateur dents de scie adoucies, similaire à l'oscillateur Synth_WAVE_TRI. Envoyez un signal pos d'un module Synth_FREQUENCY ou Synth_FM_SOURCE en entrée. Vous obtiendrez une onde en forme de dents de scies adoucies. Le signal pos spécifie une position dans l'onde, la plage 0..1 est modifiée en 0..2*pi de manière interne. Soyez prudent. Le signal d'entrée <emphasis +>doit</emphasis +> se situer dans la plage 0..1 pour que le signal de sortie donne de bons résultats. </para> +</sect3> + +<sect3 id="mref-synth-wave-pulse-sect"> +<title +>Synth_WAVE_PULSE</title> +<anchor id="mref-synth-wave-pulse"/> + +<mediaobject +><imageobject +><imagedata fileref="images/Synth_WAVE_PULSE.png" +format="PNG"/></imageobject> +<textobject +><phrase +>Synth_WAVE_PULSE</phrase +></textobject> +</mediaobject> + +<para +>Oscillateur générant un signal de type impulsion - ce module est semblable dans l'esprit à l'oscillateur rectangulaire (Synth_WAVE_RECT), mais il permet de configurer le rapport haut/bas, grâce au paramètre <emphasis +>dutycycle</emphasis +> (rapport cyclique). Envoyez un signal pos d'un module Synth_FREQUENCY ou Synth_FM_SOURCE en entrée. Vous obtiendrez une onde en forme d'impulsions carrées. Le signal pos spécifie une position dans l'onde, la plage 0..1 est modifiée en 0..2*pi de manière interne. Soyez prudent. Le signal d'entrée <emphasis +>doit</emphasis +> se situer dans la plage 0..1 pour que le signal de sortie donne de bons résultats. </para> +</sect3> +</sect2> +<sect2 id="mcat-synth-misc"> +<title +>Divers</title> + +<sect3 id="mref-synth-compressor-sect"> +<title +>Synth_COMPRESSOR</title> +<anchor id="mref-synth-compressor"/> + +<mediaobject> +<imageobject +><imagedata fileref="images/Synth_COMPRESSOR.png" + format="PNG"/></imageobject +></mediaobject> + +<para +>Ce module réduit les variations dynamiques du signal. Par exemple des compresseurs sont utiles pour compenser les grandes variations de volume de quelqu'un parlant dans un microphone. </para> + +<para +>À peine le signal d'entrée excède un certain niveau (le seuil), le signal est comprimé. Tout ce qui dépasse le seuil est simplement multiplié par un facteur qui est en prinicpe un nombre entre 0 et 1. Finalement l'ensemble du signal est multiplié par le facteur de sortie. </para> + +<para +>Les arguments d'attaque et de relâchement retardent le début et la fin de la compression. Utilisez-les si par exemple vous désirez quand même entendre le début bruyant du son d'une grosse caisse. L'argument est en millisecondes, et une attaque ou un relâchement de zéro milliseconde est possible, mais peut provoquer un léger bruit. </para> + +</sect3> +</sect2> +</sect1> + +<sect1 id="visual-modules-reference"> +<title +>Manuel de référence des modules d'interface</title> + +<para +>TODO when visual modules are more "finished". </para> +</sect1> + +</chapter> diff --git a/tde-i18n-fr/docs/tdemultimedia/artsbuilder/porting.docbook b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/porting.docbook new file mode 100644 index 00000000000..0d28a07c486 --- /dev/null +++ b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/porting.docbook @@ -0,0 +1,52 @@ +<!-- <?xml version="1.0" ?> +<!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd"> +To validate or process this file as a standalone document, uncomment +this prolog. Be sure to comment it out again when you are done --> + +<chapter id="porting"> +<title +>Portage d'applications vers &arts;</title> + +<sect1 id="using-artsdsp"> +<title +>Utilisation de &artsdsp;</title> + +<para +>L'utilitaire &artsdsp; <link linkend="artsdsp" +>décrit précédemment</link +> permet à la plupart des applications sonores héritées qui communiquent directement aux périphériques audio de travailler proprement avec &arts;. Les applications écrites pour utiliser l'Enlightenment Sound Daemon (<application +>esd</application +>) fonctionneront aussi dans la plupart des cas en exécutant <application +>esd</application +> avec &artsdsp;. </para> + +<para +>Ceci constitue une bonne solution à court terme pour porter les applications &kde; existantes. Cependant, elle ne permet pas à l'application de tirer avantage directement de toute la puissance de &arts;, comme utiliser des modules et des flux multimédia autre que des données audio numériques. Si l'application va au-delà d'une simple lecture d'un fichier son, il est plus logique d'ajouter le support natif de &arts; à cette application. </para> + +<para +>Utiliser &arts; signifie aussi que l'application n'a pas tant de travail à faire -- elle peut tirer parti des fonctions de &arts; pour par exemple gérer le codecs pour des formats multimédia différents et le contrôle des périphériques sonores. </para> + +</sect1> + +<sect1 id="adding-native-arts-support"> +<title +>Ajout du support natif de &arts;</title> + +<para +>Lorsque vous utilisez &arts;, vous pouvez choisir parmi un grand nombre d'<link linkend="arts-apis" +><acronym +>API</acronym +></link +> Laquelle utiliser dépend de plusieurs facteurs, incluant le type de flux audio utilisé (son, &MIDI;, &CD; audio, &etc;, les caractéristiques de l'<acronym +>API</acronym +> requises, et si c'est écrit en C++. La plupart des cas, le choix est évidemment basé sur les caractéristiques requises. </para> + +<para +>Pour la portabilité entre plates-formes, les applications qui doivent être exécutées dans d'autres environnements que &kde; ne peuvent pas reposer sur la présence de &arts;. L'utilisation de modules externes (plug-ins) est un bon moyen de gérer différents environnements multimédia. L'ouverture et la documentation des <acronym +>API</acronym +> des modules externes a l'avantage de permettre à des personnes autres que le développeur de l'application d'implanter un module externe de aRts. </para> + +</sect1> + +</chapter> + diff --git a/tde-i18n-fr/docs/tdemultimedia/artsbuilder/references.docbook b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/references.docbook new file mode 100644 index 00000000000..0dff48a1027 --- /dev/null +++ b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/references.docbook @@ -0,0 +1,61 @@ +<!-- <?xml version="1.0" ?> +<!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd"> +To validate or process this file as a standalone document, uncomment +this prolog. Be sure to comment it out again when you are done --> + +<chapter id="references"> +<title +>Références</title> + +<variablelist> + +<varlistentry> +<term +><ulink +url="http://multimedia.kde.org" +>http://multimedia.kde.org</ulink +></term> +<listitem> +<para +>Il s'agit du site principal contenant les informations multimédia concernant &kde;. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><ulink +url="http://www.arts-project.org" +>http://www.arts-project.org</ulink +></term> +<listitem> +<para +>Site internet du projet &arts; </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>développement de &kde; 2.0</term> +<listitem> +<para +>Chapter 14 du livre traitant du multimédia, incluant &arts;. Il est disponible pour commander ou en lecture en ligne à <ulink url="http://www.andamooka.org/" +>http://www.andamooka.org</ulink +>. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<ulink +url="http://sound.condorow.net" +>http://sound.condorow.net</ulink +></term> +<listitem> +<para +>Il s'agit d'un site comportant une liste d'applications audio ou &MIDI; pour Linux. </para> +</listitem> +</varlistentry> + +</variablelist> + +</chapter> diff --git a/tde-i18n-fr/docs/tdemultimedia/artsbuilder/tools.docbook b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/tools.docbook new file mode 100644 index 00000000000..9656e9a065e --- /dev/null +++ b/tde-i18n-fr/docs/tdemultimedia/artsbuilder/tools.docbook @@ -0,0 +1,1009 @@ +<!-- +<?xml version="1.0" ?> +<!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd"> + +To validate or process this file as a standalone document, uncomment +this prolog. Be sure to comment it out again when you are done --> + +<chapter id="arts-tools"> +<title +>Outils de &arts;</title> + +<para +>&arts; est livré avec plusieurs outils pour contrôler et configurer son comportement. Ces outils doivent vous être familiers pour utiliser &arts; de façon efficace. Cette section décrit chaque utilitaire et ses options. </para> + +<sect1 id="kde-control-center"> +<title +>¢reConfiguration;</title> + +<para +>Lorsque vous exécutez &arts; sous &kde;, le ¢reConfiguration; fournit un groupe de réglages du centre de configuration dans la catégorie <guilabel +>Son</guilabel +>. Certains de ces réglages sont utilisés par &arts;. Vous pouvez aussi associer des sons avec des événements de &kde; et du gestionnaire de fenêtres en utilisant <menuchoice +><guilabel +>Apparence et ergonomie</guilabel +><guilabel +>Notifications du système</guilabel +></menuchoice +>. Lisez le manuel du ¢reConfiguration; pour avoir des informations sur l'utilisation de ces réglages. </para> + +</sect1> + +<sect1 id="artsd"> +<title +>&artsd;</title> + +<para +>L'accès aux ressources matérielles pour le son est contrôlé par &artsd;, le démon de &arts;. Ceci permet à différentes applications d'envoyer simultanément des requêtes au serveur, où elles peuvent être mixées puis jouées. Sans un serveur sonore centralisé, une application utilisant le périphérique son empêche toutes les autres de l'utiliser. </para> + +<para +>Pour utiliser &arts;, il doit y avoir une copie et une seule de &artsd; en fonctionnement. C'est typiquement le cas lorsque &kde; démarre si cela est activé dans <guilabel +>Serveur de son</guilabel +> dans le ¢reConfiguration;. </para> + +<para +>Le programme accepte les arguments suivants :</para> + +<!-- LW: FIX THIS --> + +<cmdsynopsis +><command +>artsd</command +> <group choice="opt" +> <option +>-n</option +> <option +>-p</option +> <option +>-N</option +> <option +>-W <replaceable +>n</replaceable +></option +> </group +> <group choice="opt" +> <option +>-a <replaceable +>audiomethod</replaceable +></option +> <option +>-r <replaceable +>sampling rate</replaceable +></option +> <option +>-b <replaceable +>bits</replaceable +></option +> <option +>-d</option +> <option +>-D <replaceable +>devicename</replaceable +></option +> <option +>-F <replaceable +>fragments</replaceable +></option +> <option +>-S <replaceable +>size</replaceable +></option +> <option +>-s <replaceable +>seconds</replaceable +></option +> <option +>-m <replaceable +>appName</replaceable +></option +> </group +> <group choice="opt" +> <option +>-h</option +> <option +>-A</option +> <option +>-v</option +> <option +>-l <replaceable +>level</replaceable +></option +> </group +> </cmdsynopsis> + +<variablelist +><varlistentry> +<term +><option +>-r <replaceable +>taux d'échantillonnage</replaceable +></option +></term> +<listitem> +<para +>Règle le taux d'échantillonnage utilisé.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><option +>-h</option +></term> +<listitem> +<para +>Affiche l'utilisation des commandes.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><option +>-n</option +></term> +<listitem> +<para +>Active la transparence réseau.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><option +>-p <replaceable +>port</replaceable +></option> +</term> +<listitem> +<para +>Règle le port <acronym +>TCP</acronym +> à utiliser (implique <option +>-n</option +>).</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><option +>-u</option +></term> +<listitem> +<para +>Public, pas d'authentification (dangereux).</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><option +>-d</option +></term> +<listitem> +<para +>Active le mode full duplex.</para> +</listitem> +</varlistentry> +<varlistentry> +<term +><option +>-D <replaceable +>nom du périphérique</replaceable +></option +></term> +<listitem> +<para +>Spécifie le périphérique audio (habituellement <filename +>/dev/dsp</filename +>).</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><option +>-F <replaceable +>fragments</replaceable +></option +></term> +<listitem> +<para +>Règle le nombre de fragments.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><option +>-S <replaceable +>taille</replaceable +></option +></term> +<listitem> +<para +>Règle la taille des fragments, en octets.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><option +>-s <replaceable +>secondes</replaceable +></option +></term> +<listitem> +<para +>Règle la durée avant suspension automatique du serveur, en secondes. Une valeur nulle désactive la suspension automatique.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><option +>-m <replaceable +>Nom de l'application</replaceable +></option +></term> +<listitem> +<para +>Spécifie le nom de l'application qui sera utilisée pour afficher les erreurs, alertes et messages informatifs. Si vous exécutez KDE, vous pouvez utiliser l'utilitaire <application +>artsmessage</application +>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><option +>-N</option +></term> +<listitem> +<para +>Augmente la taille du tampon réseau à une valeur acceptable pour fonctionner sur un réseau local à 10 mbps. C'est équivalent à l'option -w 5 (voir plus bas). </para> +</listitem> +</varlistentry> +<varlistentry> +<term +><option +>-w <replaceable +>n</replaceable +></option +></term> +<listitem> +<para +>Lorsque <application +>artsd</application +> est exécuté par une connexion réseau sur un autre hôte, il est recommandé d'utiliser un tampon de grande taille pour éviter des interruptions du son. ARts fournit des applications avec une taille de tampon minimale recommandée. Sans cette option, la taille par défaut est basée sur la taille des fragments * le nombre de fragments. En utilisant cette option, vous pouvez augmenter la taille par défaut par un facteur <replaceable +>n</replaceable +>. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><option +>-l <replaceable +>niveau</replaceable +></option +></term> +<listitem> +<para +>Règle le niveau d'information - 3 (muet), 2 (alertes), 1 (info), 0 (déboguage).</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><option +>-v</option +></term> +<listitem> +<para +>Affiche le numéro de version..</para> +</listitem> +</varlistentry> + +</variablelist> + +<para +>Dans la plupart des cas, exécuter simplement &artsd; suffira. </para> +</sect1> + +<sect1 id="artswrapper"> +<title +>&artswrapper;</title> + +<para +>Pour avoir un bon temps de réponse, &artsd; est souvent exécuté en tant que processus temps-réel (sur les plates-formes gérant la priorité temps-réel). Ceci nécessite les droits <systemitem class="username" +>administrateur</systemitem +>, donc pour minimiser les problèmes de sécurité, &artsd; peut être lancé à l'aide d'un petit programme encapsulant, &artswrapper;, qui actionne simplement la priorité temps-réel (s'exécutant en tant qu'<systemitem class="username" +>administrateur</systemitem +>) et exécute ensuite &artsd; en tant qu'utilisateur non <systemitem class="username" +>administrateur</systemitem +>. </para> + +<para +>Si vous rendez artswrapper SUID <systemitem class="username" +>root</systemitem +>, ceci améliorera sensiblement la qualité de la lecture audio en réduisant les coupures dans la musique. Cependant, ceci augmente également le risque qu'un bogue dans le code ou qu'un utilisateur malicieux ne fasse planter ou bloquer votre machine. De plus, sur des machines multiutilisateurs, donner la priorité à un son de haute qualité peut diminuer les performances pour les utilisateurs qui essaient d'utiliser la machine de manière <quote +>productive</quote +>.</para> + +</sect1> + +<sect1 id="artsshell"> +<title +>&artsshell;</title> + +<para +>La commande &artsshell; est dédiée à exécuter des fonctions diverses liées au serveur de son. Cet utilitaire devrait être étendu dans le futur par l'ajout de nouvelles commandes (voir les commentaires dans le source). </para> + +<para +>La commande s'utilise comme suit : </para> + +<!-- LW: FIX THIS --> + +<cmdsynopsis +><command +>artsshell</command +> <group +> <arg +>suspend</arg +><arg +>status</arg +> <arg +>terminate</arg +> <arg +>autosuspend <replaceable +>secs</replaceable +></arg +> <arg +>networkbuffers <replaceable +>n</replaceable +></arg +> <arg +>volume [<replaceable +>volume</replaceable +>]</arg +> <arg +>stereoeffect <replaceable +>options</replaceable +></arg +> </group +> <group +> <option +>-h</option +> <option +>-q</option +> </group +> </cmdsynopsis> + +<para +>artsshell [options] <replaceable +>command</replaceable +> [<replaceable +>command-options</replaceable +>] </para> + +<para +>Les options suivantes sont disponibles : </para> + +<variablelist> + +<varlistentry> +<term +><option +>-q</option +></term> +<listitem> +<para +>Supprime toute sortie.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><option +>-h</option +></term> +<listitem> +<para +>Affiche l'utilisation des commandes.</para> +</listitem> +</varlistentry> + +</variablelist> + +<para +>Les commandes suivantes sont disponibles :</para> + +<variablelist> + +<varlistentry> +<term +><option +>suspend</option +></term> +<listitem> +<para +>Suspend le serveur de son. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><option +>état</option +></term> +<listitem> +<para +>Affiche les informations sur l'état du serveur de son.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><option +>terminate</option +></term> +<listitem> +<para +>Arrête le serveur sonore. Ceci peut perturber ou faire planter toute application l'utilisant. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><option +>autosuspend</option +> <parameter +>secondes</parameter +></term> +<listitem> +<para +>Règle la durée avant suspension automatique du serveur, en secondes. Le serveur sonore sera arrêté automatiquement s'il n'est pas sollicité durant cette période. Une valeur nulle désactive la suspension automatique. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><option +>networkbuffers</option +> <parameter +>n</parameter +></term> +<listitem> +<para +>Règle la taille du tampon réseau à <parameter +>n</parameter +> fois la taille par défaut. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><option +>volume</option +> [<replaceable +>volume</replaceable +>]</term> +<listitem> +<para +>Règle le volume de sortie du serveur audio. L'argument <replaceable +>volume</replaceable +> est une valeur de type flottant. Sans argument, le volume actuel est affiché. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><option +>Liste des effets stéréo</option +></term> +<listitem> +<para +>Liste tous les modules d'effets stéréo disponibles.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><option +>stereoeffect insert [top|bottom]</option +> <replaceable +>nom</replaceable +></term> +<listitem> +<para +>Insère un effet stéréo dans une pile d'effets stéréo. Retourne un identificateur qui peut être utilisé pour le supprimer plus tard. On peut l'installer en haut ou en bas (par défaut).</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><option +>stereoeffect remove</option +> <replaceable +>id</replaceable +></term> +<listitem> +<para +>Supprime l'effet stéréo avec l'identificateur <replaceable +>id</replaceable +> de la pile d'effets.</para> +</listitem> +</varlistentry> + +</variablelist> + +</sect1> + +<sect1 id="artsplay"> +<title +><application +>artsplay</application +></title> + +<para +>La commande <application +>artsplay</application +> est un simple utilitaire qui permet de lire un fichier son. Son seul argument est le nom du fichier son à envoyer au serveur sonore pour y être lu. Il peut être n'importe quel type de fichiers sons classique comme par exemple du type <literal role="extension" +>wav</literal +> ou <literal role="extension" +>au</literal +>. Ce programme est utile pour tester si le serveur sonore fonctionne bien. En exécutant deux commandes en parallèle, ou successivement, de manière rapide, on peut mettre en évidence le mixage de plusieurs sources sonores par le serveur.</para> + +</sect1> + +<sect1 id="artsdsp"> +<title +><application +>artsdsp</application +></title> + +<para +>Le serveur de son ne gère que les applications compatibles avec &arts;. Beaucoup d'applications héritées accèdent directement au périphérique son. La commande &artsdsp; fournit une solution intermédiaire qui permet à la plupart de ces applications de fonctionner sans changements. </para> + +<para +>Lorsqu'une application est exécutée sous &artsdsp;, tous les accès au périphérique audio <filename class="devicefile" +>/dev/dsp</filename +> sont interceptés et transformés en appels aux <acronym +>API</acronym +> de &arts;. Cette émulation n'est pas parfaite, mais la plupart des applications fonctionnent de cette manière, avec une diminution des performances et des coupures. </para> + +<para +>La commande &artsdsp; s'utilise comme suit : </para> + +<!-- LW: FIX THIS --> +<para +>artsdsp [<replaceable +>options</replaceable +>] <replaceable +>arguments</replaceable +> </para> + +<para +>Les options suivantes sont disponibles : </para> + +<variablelist> + +<varlistentry> +<term +><option +>-h</option +>, <option +>--help</option +></term> +<listitem> +<para +>De l'aide succincte.</para> +</listitem> +</varlistentry> +<varlistentry> +<term +><option +>-n</option +> <option +>--name</option +> = <replaceable +>nom</replaceable +></term> +<listitem> +<para +>Utilisez <replaceable +>nom</replaceable +> pour identifier le lecteur auprès de <command +>artsd</command +>.</para> + +</listitem> +</varlistentry> + +<varlistentry> +<term +><option +>-m</option +> <option +>--mmap</option +></term> +<listitem> +<para +>Émule le memory mapping (&pex; pour <application +>Quake</application +>).</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><option +>-v</option +> <option +>--verbose</option +></term> +<listitem> +<para +>Affiche des paramètres.</para> +</listitem> +</varlistentry> + +</variablelist> + +<para +>Une invocation typique serait : </para> + +<para> +<userinput +><command +>artsdsp</command +> <option +>-v</option +> <option +>-m</option +> <parameter +>realplay <replaceable +>song.mp3</replaceable +></parameter +></userinput> +</para> + +<para +>Certaines applications fonctionnent mieux avec l'option <option +>--mmap</option +>. Les caractéristiques du périphérique sonore ne sont pas toutes émulées, mais la plupart des applications devrait fonctionner. Si vous trouvez une application qui ne fonctionne pas, envoyez un rapport de bogue détaillé et le développeur devrait être en mesure de régler le problème. Encore une fois, souvenez-vous que c'est une solution intermédiaire et peu élégante, la meilleure solution serait d'ajouter la gestion native de &arts; dans les applications multimédia. Si votre application favorite ne reconnaît pas &arts;, demandez au développeur d'y ajouter cette gestion. </para> + +</sect1> + +<sect1 id="artscat"> +<title +><application +>artscat</application +></title> + +<para +>C'est un simple utilitaire pour envoyer des données audio vers le serveur de son. Vous devez spécifier le format des données (taux d'échantillonnage, taille de l'échantillon, et nombre de canaux). Vous ne l'utiliserez probablement pas souvent, mais il peut rendre service pour certains tests. La syntaxe de la commande est la suivante : </para> + +<!-- LW: FIX THIS --> + +<para +>artscat [ <replaceable +>options</replaceable +> ] [ <replaceable +>fichier</replaceable +> ] </para> + +<para +>Si aucun nom de fichier n'est spécifié, l'entrée standard est lue. Les options suivantes sont disponibles : </para> + +<variablelist> +<varlistentry> +<term +><option +>-r</option +> <parameter +>taux d'échantillonnage</parameter +></term> +<listitem> +<para +>Règle le taux d'échantillonnage. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><option +>-b</option +> <parameter +>bits</parameter +></term> +<listitem> +<para +>Règle la taille des échantillons (8 bits ou 16 bits). </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><option +>-c</option +> <parameter +>canaux</parameter +></term> +<listitem> +<para +>Règle le nombre de canaux (1 ou 2). </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><option +>-h</option +></term> +<listitem> +<para +>Affiche l'utilisation de la commande et quitte. </para> +</listitem> +</varlistentry> + +</variablelist> +</sect1> + +<sect1 id="artscontrol"> +<title +>&artscontrol;</title> + +<para +>C'est un utilitaire graphique pour réaliser un certain nombre de tâches en rapport avec le serveur de son. La fenêtre par défaut affiche deux indicateurs de niveau de volume et une glissière pour contrôler le volume principal. À partir du menu <guimenu +>Affichage</guimenu +>, vous pouvez sélectionner d'autres fonctions : </para> + +<variablelist> + +<varlistentry> +<term +><guimenuitem +>FFT</guimenuitem +></term> +<listitem> +<para +>Ouvre une fenêtre qui affiche un analyseur de spectre en temps réel. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><guimenuitem +>Gestionnaire audio</guimenuitem +></term> +<listitem> +<para +>Affiche les sources sonores actives et vous permet de les connecter aux bus disponibles. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><guimenuitem +>État de aRts</guimenuitem +></term> +<listitem> +<para +>Montre si le serveur sonore est actif et s'il s'exécute avec la priorité temps-réel. Il indique lorsque le serveur est suspendu automatiquement, et permet de le suspendre immédiatement. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><guimenuitem +>Gestionnaire Midi</guimenuitem +></term> +<listitem> +<para +>Affiche les entrées et sorties &MIDI; actives et vous permet de faire des connexions [à faire : Est-ce que ça marche ? Besoin de plus de détails]. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><guimenuitem +>FreeVerb</guimenuitem +></term> +<listitem> +<para +>Connecte une réverbération FreeVerb à la pile des effets de sortie de &arts; et vous permet de contrôler les paramètres de l'effet de manière graphique. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><guimenuitem +>Affichage du volume sous forme de LED</guimenuitem +></term> +<listitem> +<para +>Utilise des diodes électroluminescentes (<acronym +>LED</acronym +>) colorées pour les indicateurs de volume de la fenêtre principale à la place des barres de progression. </para> +</listitem> +</varlistentry> + +</variablelist> + +</sect1> + +<sect1 id="artsc-config"> +<title +><application +>artsc-config</application +></title> + +<para +>C'est un utilitaire pour aider les développeurs à utiliser les <acronym +>API</acronym +> C de &arts;. Il donne les options du lieur et du compilateur nécessaires pour compiler et lier du code avec &arts;. Il est destiné à être utilisé dans des makefiles pour favoriser la portabilité. La commande accepte trois options : </para> + +<variablelist> +<varlistentry> +<term +><option +>--cflags</option +></term> +<listitem> +<para +>Affiche les options de compilation nécessaires pour compiler avec les <acronym +>API</acronym +> C de &arts;.. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><option +>--libs</option +></term> +<listitem> +<para +>Affiche les options de compilation du lieur nécessaires pour compiler avec les <acronym +>API</acronym +> C de &arts;.. </para> +</listitem> +</varlistentry> +<varlistentry> +<term +><acronym +>--version</acronym +></term> +<listitem> +<para +>Affiche la version de la commande <command +>artsc-config</command +>. </para> +</listitem> +</varlistentry> +</variablelist> + +<para +>Voici la sortie typique de la commande :</para> + +<screen width="40" +><prompt +>%</prompt +> <userinput +><command +>artsc-config</command +> <option +>--cflags</option +></userinput> +<computeroutput +>-I/usr/local/kde2/include/artsc</computeroutput> +<prompt +>%</prompt +> <userinput +><command +>artsc-config</command +> <option +>--libs</option +></userinput> +<computeroutput +>-L/usr/local/kde2/lib -ldl -lartsc -DPIC -fPIC -lpthread</computeroutput> +<prompt +>%</prompt +> <userinput +><command +>artsc-config</command +> <option +>--version</option +></userinput> +<computeroutput +>0.9.5</computeroutput +> +</screen> + +<para +>Vous auriez pu utiliser cet utilitaire dans un makefile en utilisant une règle telle que : </para> + +<programlisting +>artsc : artsc.c + gcc `artsc-config --cflags` -o artsc artsc.c `artsc-config --libs` +</programlisting> + +</sect1> + +<sect1 id="mcopidl"> +<title +>&mcopidl;</title> + +<para +>La commande &mcopidl; est le compilateur &IDL; pour &MCOP;, le protocole de communication multimédia utilisé par &arts;. Les interfaces dans &arts; sont définies en &IDL;, un langage de définition d'interface (<foreignphrase +>Interface Definition Language</foreignphrase +>) indépendant du langage. L'utilitaire &mcopidl; accepte en entrée un fichier &IDL; et génère des fichiers d'en-tête et de sources C++ pour une classe implantant l'interface. La commande a la syntaxe suivante : </para> + +<!-- LW: FIX THIS --> + +<para +>mcopidl [ <replaceable +>options</replaceable +> ] <replaceable +>fichier</replaceable +> </para> + +<para +>Les options disponibles sont :</para> +<variablelist> +<varlistentry> +<term +><option +>-I</option +> <parameter +>dossier</parameter +></term> +<listitem> +<para +>Cherche les fichiers d'inclusion dans <parameter +>dossier</parameter +>. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><option +>-e</option +> <parameter +>nom</parameter +></term> +<listitem> +<para +>Exclut le type de struct, interface, ou enum <parameter +>nom</parameter +> de la génération du code. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><option +>-t</option +></term> +<listitem> +<para +>Crée aussi les fichiers <literal role="extension" +>.mcoptype</literal +>/<literal role="extension" +>.mcopclass</literal +> contenant les informations de type pour le fichier &IDL;. </para> +</listitem> +</varlistentry> +</variablelist> + +<para +>Vous trouverez plus d'informations à propos de &MCOP; et &IDL; dans la section <link linkend="interfaces" +>Interfaces et &IDL;</link +>. </para> + +</sect1> + +</chapter> |