
Ce projet a débuté en été 1998 par Martin Wilz et a été développé et amélioré par lui-même et quelques autres contributeurs. En novembre 1999 Thomas Eschenbacher a commencé à corriger quelques petits bogues et à s'investir progressivement dans l'ensemble du code source du programme. Jusqu'à aujourd'hui, il a ajouté, réécri et corrigé progressivement chaque partie du logiciel et a consacré beaucoup de temps pour les améliorer.
0.7.11 [2007-12-09]
new internal streaming architecture, based on Qt instead of aRts
aRts support is now disabled per default
some minor bugfixes for x86_64 support
band pass plugin
0.7.10 [2007-08-08]
build system: using 'METASOURCES=AUTO' (which simplifies a lot)
ported the build system to cmake
support for newer APIs of FLAC v1.1.3 and v1.1.4 (closes SF bugs #1713655 and #1757716 + debian bugs #427747, #426668 and #431199)
replaced problematic code in libaudiofile with new code under the LGPL, contributed by Bertrand Songis (partially fixes debian bug #419124)
update of the online documentation to reflect the change of the make system
0.7.9 [2007-05-01]
playback via ALSA: offer the "default" device, if no devices found offer the "null" device
implemented import and export of labels, currently only for uncompressed wav files
new plugin for saving blocks between labels as separate files
new function: expand selection to labels
new function: select next/previous range between labels
bugfix: don't change the file name when saving only the selection
new configure option: --enable-doc=yes/no to enable/disable the generation of the online documentation (default=yes)
0.7.8 [2006-12-31]
bugfix: workaround for bug in ALSA, crashed when initializing the dsnoop plugin
bugfix: error in swap file handling, one sample was destroyed when resizing. Affects cut, delete, crop and many other functions.
fixed the incorrect usage of the word "loose" (thanks to J.T. Hundley)
bugfix: went back to old implementation of ThreadsafeX11Guard class in order to fix a deadlock (closes sourceforge bug #1623357)
documentation update: mention Subversion instead of CVS
zero plugin: new mode, support for inserting a range filled with silence
fixed the macro functions "Fade Leadin" and "Fade Leadout", using the new mode of the 'zero' plugin
export of ASCII format files
0.7.7 [2006-09-17]
new feature: implemented a small widget that shows the current selection position and the selection borders
new feature: context menu for the signal widget (right mouse button)
improved file open dialog: show "All Files" and "All Supported Files"
bugfix: error in handling of mouse selection
bugfix: recording only used the first channel (closes sourceforge bug #1551050)
install plugins kde_moduledir/plugins/kwave instead of kde_datadir/kwave/plugins
0.7.6 [2006-06-05]
bugfix: recording setup crashed when called for the first time
bugfix: do no longer crash when recording device is not present or opening failed
bugfix: fixed generation of rpm dependency for libmad
bugfix: update the size of the level meter if the dialog size has changed
record plugin: added a fancy status bar
record plugin: added autodetect/scanning for OSS devices
record plugin: added dsnoop plugin as ALSA source
record plugin: fewer annoying message boxes, instead show a short notice in the status bar for some seconds
record plugin: add logarithmic scale to the level meter and use 3 colors
playback plugin: added autodetect/scanning for OSS devices
playback plugin / ALSA: support for 18 and 20 bits/sample
playback plugin / ALSA: support for big endian
0.7.5 [2005-12-31]
draw signal in a different color set when not selected
bugfix: solved deadlock situation when starting a plugin while another plugin was still running
workaround for deadlock when trying to close the current file while a plugin is still running
bugfix: delete range only in selected tracks
thrown over board the idea of using gstreamer due to serious license issues, we will wait until KDEMM is out (KDE-4) instead.
0.7.4 [2005-10-16]
recording via ALSA
support for the silently changed API of libFLAC++ v1.1.2 (closes sourceforge bug #1243707 + debian bug #289953)
fixed support of MMX / SSE detection on X64_64 architecture (closes sourceforge bug #1244320 and debian bugs #288781 + #327501)
decided to support gstreamer as streaming engine in future versions (will make v0.8 if Kwave is aRts-free)
fixed some German translations (closes debian bug #313790 and bug #314000)
0.7.3 [2005-05-26]
Écoute des pistes audio via le module sonore ALSA.
completely new playback settings dialog, with support for aRts, ALSA and OSS
playback plugin: play a test sound
record plugin: detect when device is alread open, now no longer blocks. Show an error message.
smoother signal display in overview mode (no gaps) and improved polyline mode
replaced some of Kwave's multithreading classes with classes from Qt
compiles under SuSE-9.3
ebuild file for Gentoo Linux
0.7.2 [2004-12-31]
big rework of the internal streaming/storage subsystem, support for multiple stripes. Makes a big speedup when handling large files! Creating an empty 512MB file before: over 350 sec, now: about 25 sec (on my system)
optimized versions of memcpy() for ix86 (using MMX, MMXEXT, 3DNOW, SSE, SSE2) and for PowerPC, copied from the xine project
some support for X86_64
bugfix: in memory setup plugin, set virtual memory limit only if the limit has been enabled (checkbox is clicked)
bugfix: clipping in Ogg import filter was incorrect
speedups: import of Ogg and MP3 files improved
removed code copied from the GSL library, link against the shared library instead
added target "package-messages" to the toplevel Makefile, for translators
0.7.1 [2004-07-10]
FLAC (Free Lossness Audio Codec) import/export plugin
speedups for loading / saving files
removed our own copy of libmad from the source tree, now it should be available in all common distributions
implemented pre-recording
implemented recording time limit
bugfix: minor bug in the recording state machine
bugfix: solved some layout issues in the about- and sonagram plugins
bugfix: cancel while saving to .ogg works now
update of the online documentation, many screenshots
improved Makefile dependencies of the plugins, now parallel builds also work and speed up the creation of plugins
0.7.0 [2003-11-01]
Première version avec le module externe d'enregistrement audio (alpha)
Suppression des appels au programme « uic ».
Correction de bogue : le drapeau d'activation des modules externes était mauvais. Une seule instance de Kwave était possible.
Ajout des fichiers projet pour Kdevelop version 3
0.6.7 [28-06-2003]
Nouveau module externe « pitch_shift ».
Nouveau module externe « lowpass ».
Nouveau module externe « notch_filter », par Dave Flogeras.
Ajout de la version corrigée du module externe « synth_pitch_shift » de aRts.
Nouvelle caractéristique : « Aperçu sonore ». Première implantation dans le module externe « pitch_shift ».
Portage vers QT3.1 sans compatibilité avec QT2. Compilation possible avec les options « -DQT_NO_COMPAT » et « -DQT_CLEAN_NAMESPACE ».
0.6.6 [29-03-2003]
Fonctionne avec KDE 3.1.
Plusieurs améliorations sur le processus de compilation du programme. Cela doit fonctionner avec les systèmes Debian, Mandrake, RedHat, Gentoo et SuSE.
Utilisation de la taille de fenêtre principale utilisée lors de la dernière session.
Ajout d'options « Xt » pour la gestion de la géométrie de la fenêtre principale. Correction d'un bogue avec KDE 3.x. Exemple : « kwave -geometry 800x600 ».
Correction de bogue : sélection d'un échantillon en moins à gauche d'une sélection quand cela est nécessaire.
Module externe « Volume » : simple découpage.
Module externe « Volume » : mode « Multiplier avec / Diviser par un coefficient ».
Module externe « newsignal » et « selectrange » : « KDoubleNumInput » n'est plus utilisé à cause d'un comportement étrange dans l'affichage.
Module externe « selectrange » : sélection correcte au début de la plage sélectionnée.
Possibilité d'utiliser les bibliothèques « libmad » et « libaudiofile » si elle sont installées sur votre système.
Affichage des informations du module externe « fileinfo » quand on enregistre sous un type MIME différent.
0.6.5 [09-11-2002]
Importation de fichiers au format MP3 avec le support des marquages ID3 avec les bibliothèques « id3lib » et « libmad ».
Importation et exportation des fichier Ogg / Vorbis (seulement en mode ABR).
Nouveau module externe « volume ».
Affichage des plages sélectionnées avec le temps (caractéristique demandé par Christian Hollaender).
Support de l'enregistrement des fichiers « .wav » compressés.
La compatibilité avec Qt2/KDE2 n'est plus respectée. Seul Qt3/KDE3 sont supportées.
Module externe de lecture : activation du bouton « Sélectionner... » pour choisir d'autres périphériques de lecture (caractéristique demandé par Len Ovens).
Résolution des problèmes avec label « mangling » dans les modules externes et les versions différentes du compilateur « gcc ».
Fonctionne avec le compilateur « gcc » en version 3.2. Résolution des problèmes avec « __dso_handle ».
Ajout de contrôles plus stricts pour des programmes dans le script « .configure ».
0.6.4 [30-06-2002]
Support pour différents formats de fichiers. Intégration de « libaudiofile ».
Correction de bogues pour le glisser / déposer : le lâchement dans un même signal audio à gauche d'une sélection supprime une mauvaise partie du signal.
Réparation automatique des structures endommagées des fichiers au format WAVE.
Correction de bogues dans la sauvegarde d'une sélection.
Intégration de « libkwavemt » dans « libkwave ».
Utilisation du temps à la place du facteur de zoom (tel que lorsque le zoom correspond à « 1 minute »).
Entrées dans le menu pour le contrôle de la lecture d'une piste sonore.
Quelques icônes supplémentaires dans les menus.
Remplacement de « KFileDialog » par la sous-classe « KwaveFileDialog » (corrige quelques bogues avec KDE).
Ajout d'un petit chapitre dans l'aide sur les rudiments des enregistrements audio numériques.
Ajout du module externe « Selectrange ».
0.6.3 [01-03-2002]
Le glisser / déposer simple.
Traductions Française.
Traitement de « signal modified ».
Affichage d'un message d'erreur et d'arrêt si le chargement d'un fichier échoue.
0.6.2 [24-12-2001]
Nouveau module externe « amplifyfree ».
Nouveau module externe « noise ».
Un nouveau module externe pour le serveur de sons aRts fonctionne maintenant avec Kwave et il est possible de l'utiliser pour jouer des pistes sonores.
Changement du format de la documentation en XML / Docbook-4.1.
Récupération des fichiers endommagés si leur longueur n'est pas égale à zéro mais que les données d'entrées dans l'en-tête du fichier au format WAVE indique une valeur nulle (tel que lorsqu'une application comme « Krecord » s'arrête indésirablement pendant l'enregistrement d'une piste sonore).
Correction de bogue : libération de la mémoire virtuelle allouée dans le gestionnaire de mémoire.
Correction de bogue : problème avec TSS dans la libération de « TSS_Object ».
0.6.1-1 [01-09-2001]
Correction de bogue : la classe « Track » construit une entrée en double dans la liste des pistes quand on insère des signaux dans une piste sonore vide.
Correction du comportement étrange de l'affichage dans les boîtes de dialogues, depuis que la librairie Qt a des problèmes avec la construction de boîtes de dialogues complexes.
0.6.1 [24-08-2001]
UTILISATION DE LA MÉMOIRE VIRTUELLE
Changement des fichiers « Makefiles » : la documentation au format HTML restant dans la distribution de l'application provoque des dysfonctionnements avec les outils de construction de la documention pour KDE.
Quand on insère des données issues du presse papier vers un nombre de pistes sonores non cohérent, le résultat est mixé (opération non optimisée / lente).
Correction de problèmes pour la compilation avec les compilateurs gcc-2.96 / gcc-3.0.
Correction de l'oubli d'un fichier d'en-tête dans « NewSigDlg.ui ».
Le RPM doit pouvoir être relogeable lors de l'installation.
Correction d'un bogue dans les séquences de fermeture de l'application. Le presse-papiers est alors vidé de son contenu.
0.6.0 [29-07-2001]
PORTAGE VERS QT-2 ET KDE2
Architecture interne revue et corrigé complètement.
Les modules externes peuvent être installés dans les dossiers des utilisateurs.
« libkwave » est incluse dans le programme alors qu'elle était avant un paquetage séparé.
Écoute des pistes audio via le module sonore aRts.
Nombreuses correction de bogues.
0.5.5-1 [23-02-2001]
Correction de bogues : impossible de sélectionner jusqu'à la fin des pistes sonores.
Correction de bogues : plus de débordement mémoire dans le traitement des en-têtes wav lors de la sauvegarde de fichiers de plus de 268Mo (bogue reporté par Sven-Steffen Arndt, ssa29@gmx.de).
0.5.5 [01-12-2000]
Nouvelle gestion de la lecture de pistes sonores avec les fonctions Pause et Continuer.
Limitation de la taille de la mémoire tampon de lecture a une valeur comprise entre 256 et 65536 octets. Il y avait quelques problèmes avec de petites tailles lorsque la taille était comprise entre 16 et 64 octets (peut être liés à des dysfonctionnements matériels).
Ajout d'une barre d'outils comme dans toute application standard.
Correction de quelques bogues concernant les sélections avec la souris.
Reprise des « Widgets » de l'IHM (utilisés dans la fenêtre principale et le sonogramme).
Correction de la commande « zoomer sur la sélection ».
Sonogramme : sauvegarde dans un fichier et ajustement automatique de la brillance.
Remplacement de « QFileDialog » par « KFileDialog ».
Tests des optimisations de compilation pour un processeur AMD Athlon (correctifs pour pegcs).
Correction de bogues pour un fonctionnement correct du multithreading.
Vérification de quelques fichiers d'en-tête pour la séquence de configuration (Problèmes reportés par issiac@evcom.net).
0.5.4-4 [03-10-2000]
Ajout des classes « Mutex » et « MutexGuard ».
Sonogramme : ajout d'une image de fond transparente.
Ajout des fonctions « sizeHint() » et « minimumSize() » pour « ScaleWidget » et « OverViewWidget »
Sonogramme : suppression de « SonagramContainer », utilisé dans « QGridLayout ».
Déplacement de « SignalProxy » dans le sous-dossier « mt ».
Correction de problèmes de synchronisation avec X11 concernant « SignalProxy ».
Ajout du support de TSS (Thread-Specific-Storage) dans les classes « mt ».
Ajout de quelques classes pour le multithreading : « Thread », « AsynchObject », ...
Suppression du préfixe « get » de toutes les fonctions membres. Ceci est le nouveau style de codage pour KDE/QT.
Mise à jour de la documentation en ligne qui référence la nouvelle page WEB de Kwave sur http://kwave.sourceforge.net/.
Classe « ImageView » : toujours redessiner (les images et les données peuvent changer).
Correction de bogue : La sélection et le curseur de lecture ne seront pas dessinés si aucun fichier n'est chargé.
0.5.4-3 [09-09-2000]
Le titre de la fenêtre du sonogramme est mise à jour si le nom du fichier a changé.
Mise en place d'une solution au problème de synchronisation entre X11 et Qt dans l'environnement multithread.
Correction de bogue dans la fonction « Halt » (lecture audio).
0.5.4-2 [20-08-2000]
Management de la géométrie et des positions des « Widgets » de la fenêtre principale.
Limitation de l'affichage de la largeur d'un fichier sonore. Si toutes les pistes sonores sortent en dehors de l'écran, une barre de défilement horizontale apparaît sur le coté droit du fichier.
Limitation à une taille raisonnable du « TopWidget ».
Dépendances automatiques pour le fonctionnement des modules externes.
0.5.4-1 [29-07-2000]
Correction de la présentation de la boîte de dialogue des options de lecture.
Commencement de l'implémentation d'une nouvelle interface pour les modules externes.
Géométrie et présentation de la boîte de dialogues pour le paramétrage du sonogramme.
Mise en forme de la sélection et du temps dans un fichier sonore (KwavePlugin::ms2string).
Les modules externes peuvent maintenant être constitués de plusieurs fichiers sources.
0.5.4 [12-07-2000]
Quelques petites corrections dans les fichiers « Makefiles ».
Séparation de la documentation en deux parties distinctes : « de » et « en ».
Création d'un lien symbolique des dossiers « de » et « default » vers le dossier d'aide en anglais durant l'installation et la désinstallation, ainsi que avant et après l'exécution des scripts du fichier « .spec ». L'utilisateur doit au moins avoir l'aide en anglais...
Version alpha de la documentation en anglais.
Mise à jour automatique de l'historique de révision dans le fichier au format « Docbook » si le fichier est modifié (version anglaise seulement).
Le CVS est mis en service sur sourceforge.net.
Changement de quelques lignes d'en-tête dans ce fichier.
Commencement de l'écriture d'une nouvelle documentation d'aide en ligne avec l'utilisation du format « Docbook ».
0.5.3 [12-06-2000]
Si un fichier avec une taille invalide (tel que enregistré par « arecord ») est chargé, on affiche un message et on ne tient pas compte des données lues à la fin du fichier sonore.
Trouver quel sortie sonore le programme a besoin avec le démon ALSA pour un échantillonnage de 24 et 32 bits.
Lecture d'un fichier sonore en stéréo.
Les sélections des canaux audio (x) sont mixés vers les canaux du périphérique de sortie (y) à la lecture d'un fichier sonore en utilisant une matrice de translation x:y avec une échelle linéaire. Toutes les valeurs pour x et y excepté 0 sont admises.
Lecture audio pour seulement les canaux sélectionnés.
Restructuration de la boîte de dialogue des paramètres de lecture (module externe).
Long travail de restructuration du code correspondant à la lecture audio.
Correction d'un bogue grave dans « SignalManager::readWavChunk() », qui rendait instable l'application.
0.5.2-12 [02-06-2000]
Copie de la classe « AsyncSync » dans « libgui », qui doit être utilisée pour un usage des « theadsafe » de la librairie Qt.
Déplacement du drapeau « selected » de la classe « SignalManager » vers la classe « Signal ».
Correction de bogues sur la sélection d'un canal si on ajoute ou on supprime des données.
0.5.2-11 [28-05-2000]
Ajout du fichier d'en-tête config.h dans chaque fichier source (exceptés les modules externes).
Exportation vers de l'ASCII pour un fichier sonore de plusieurs canaux. (l'importation ne fonctionne qu'avec des données en mono).
Correction de plusieurs pertes de mémoire et suppression d'opérations contradictoires (tel que l'utilisation de « delete » à la place de « delete[ ] »).
Ajout (et test) du support pour la détection d'erreurs avec les outils de déboguage « Insure++ Lite 4.1 » (./configure --enable-insure=yes ...) -> remerciements à ParaSoft Corporation pour la mise à disposition d'une version limitée disponible sur http://www.parasoft.com.
« SignalWidget » utilise une arborescence en couche pour l'affichage. Cela améliore le réaffichage après une sélection avec la souris d'un facteur 14 (!!!) sur mon système.
0.5.2-10 [21-05-2000]
Quelques corrections de bogues mineurs dans les fichiers « Makefiles ».
Sauvegarde et ajout du fichier « .spec » de Kwave dans l'archive des sources. Cela permet à la commande « rpmbuild -ta kwave-x.x.x-x.tar.gz » de fonctionner.
Écriture d'un nouveau fichier README. Déplacement de l'ancienne version écrite par Martin dans README.OLD.
L'option RPM_OPT_FLAGS a été ajoutée dans la liste des options de compilation, pour permettre aux optimisations du Pentium de fonctionner.
Afficher une boîte de dialogue d'erreur sur le chargement d'un fichier a échoué.
0.5.2-9 [19-05-2000]
La liste des fichiers récemment ouverts est synchronisée avec entre toutes les instances du programme.
Correction de pertes de mémoires, d'oublis de constructions du type ASSERT, d'oublis d'initialisations de variable et de possibles divisions par zéro.
Le menu d'aide a été aligné sur le coté droit (Le menu principal est capable de gérer la commande spéciale « #separator »).
0.5.2-1...0.5.2-8 [...18-05-2000]
Remplacement de toutes les occurrences de « sprintf » par « snprintf », et de « strcpy » par « strncpy » (92 fois).
Pas d'affichage du facteur de zoom si aucun fichier sonore n'est chargé.
Dans le cas de l'ajout ou la suppression d'un canal, une sélection est décalée.
Changement de quelques variables et paramètres en « unsigned » (pour simplifier la vérification des étendues de valeurs).
Ajout de ce fichier d'aide.
Mise en valeur de quelques portions de code en concordance avec mon style de programmation. -> Remerciements aux développeurs de « Artistic Style ». Le programme astyle-1.11.4-1 fonctionne correctement.
Correction de quelques annotations incohérentes dans l'aide et dans la boîte de dialogue « A propos de... »
Vérification du format des types « char », « short », et « int » lors de la phase de configuration avant la compilation.
« globals.app » n'est maintenant plus utilisée (obsolète, sera retirée de la bibliothèque « libkwave »).
« MessagePort » n'est maintenant plus utilisée (obsolète, sera retirée de la bibliothèque « libkwave »).
L'ouverture de plusieurs instances de l'application est maintenant possible.
Construction des options spécifiques au serveur X (spécialement « -geometry »).
Corrections de bogues concernant le chargement et l'enregistrement de fichiers au format WAVE avec des données sous 8 bits (toujours non-signées).
RESTRUCTURATION COMPLÈTE DES COMMANDES ET DES STRUCTURES INTERNES DU PROGRAMME
Mise en place de combinaisons de signaux et de slots pour l'utilisation de chaînes de messages.
Hierarchie des processus : les commandes sont déplacées vers le haut jusqu'à atteindre un « TopWidget ».
Les « TopWidget » (de niveau haut) diffusent les commandes vers les niveaux les plus bas.
0.5.2 [24-04-2000]
Le paquetage RPM peut être maintenant installé sans conflits et compilé sans une installation préalable de Kwave.
Suppression du dossier « ${KDEDIR}/share/doc/HTML/default » du RPM pour qu'il n'y ai pas de conflit avec une version de ce dossier déjà existante.
« Shift+Home / Shift+End » permettent la sélection de la position courante jusqu'au début / fin du fichier sonore.
Correction de bogues dans l'affichage du fichier sonore : il n'est plus inversé dans sa longueur.
La fonction « Selectrange() » fonctionne correctement maintenant.
Le champs de sélection du facteur de zoom donne une valeur « réelle » du facteur zoom.
Quelques corrections de bogues dans le menu de sélection / désélection.
Restructuration complète des fonctions de zoom et de sélection :
Polynôme simple au lieu de d'une interpolation passe-bas si le facteur de zoom est moins de 10 pixels par échantillons.
Interpolation passe-bas si on a plus de 10 pixels par échantillons.
Correction de bogues dans « KWaveApp » : maintenant les paramètres généraux (globals.app) sont sauvegardés s'il n'existait pas avant. Il n'y a plus d'arrêt anormal si on charge un fichier spécifié dans la ligne de commande.
0.5.1-4
La compilation fonctionne maintenant sous RedHat 6.1 / Halloween IV comme pour SuSE 6.2.
L'information de version de « libkwavegui.so » est maintenant renseignée à partir de la version du paquetage.
Correction de bogues dans « plugins/template/Makefile.am » : on ne créé pas de fichiers « .moc » lorsqu'il y a une exécution d'un nettoyage des compilations ou d'une nouvelle construction.
Les drapeaux de compilation sont passés comme paramètres lors de la compilation d'un module externe.
La compilation s'effectue avec l'option « --no-rtti ». Ceci est nécessaire pour compiler l'application pour tenir compte des librairies KDE fournies avec une RedHat car celles ci n'ont pas été compilées avec cette option. Cela a un effet important lors de la compilation : tous les avertissements lors de l'édition des liens du programme et des bibliothèques ont disparu.
Le script .configure positionne l'option « --enable-debug ».
L'importation et l'exportation de l'ASCII fonctionne correctement maintenant (en mono seulement).
Corrections de bogues dans quelques modules externes. Toutes les compilations sont sans avertissement et sans erreur.
Les modules externes sont maintenant compilés dans un ordre alphabétique.
Tous les modules externes sont automatiquement trouvés et compilés.
Une nouvelle construction est disponible par la commande « make src.rpm ». Elle permet la fabrication d'un RPM de source.
0.5.1-3
L'affichage est déplacé à gauche où il est zoomé si on supprime des données à la fin du fichier sonore.
Le paramétrage des courbes pour une amplification croissante ou décroissante fonctionne maintenant.
0.5.1-2 [16-03-2000]
Convertion de plusieurs « klocale->translate(...) » en « i18n(...) »
La cible « make messages » fonctionne maintenant.
Convertion de menus.config pour la création d'une maquette d'un fichier « .ccp » qui sera utilisé pour l'internationalisation.
0.5.1-1 [13-03-2000]
Nouvelle cible « make rpm » pour la création d'un exécutable et d'un paquetage RPM.
Correction de problèmes concernant le partage de bibliothèques dans la construction du programme.
0.5.1 [28-02-2000]
Les éléments des menus peuvent appartenir à des sous-groupes.
Renomage de « SignalWidget::info »en « refresh ».
Plusieurs suppressions dans les fichiers d'en-tête dans les dossiers « src » et « libgui ».
Le contrôle des menus a été complètement ré-écrit :
Les menus « NumberedMenu » et « MenuCommand » ont été supprimé.
Nouvelles classes : « MenuNode », « MenuItem », « MenuSub », « MenuToplevel » et « MenuRoot ».
Les items des menus peuvent avoir des icônes.
Les liens des menus n'ont qu'un seul identifiant de chaîne de caractères.
Les commandes spéciales des menus commencent par un « # ».
Première introduction de l'internationalisation.
La liste des fichiers récemment ouverts est triée par la date de leur dernière utilisation.
0.5.0-1 [27-12-1999]
Déplacement de mes modifications du fichier Makefiles dans le fichier Makefile.am.
Ajout des cibles « make release », « make patchlevel », et quelques autres scripts.
1999-12-19 (par Thomas.Eschenbacher@gmx.de)
Reconstruction de mes modifications pour quelques Makefiles et pour le script .configure qui ont été perdues lors des changements réalisées par Martin.
Changement des raccourcis clavier CTRL-SHIFT-X en CTRL-SHIFT-C pour les opérations de mixages.
Ajout de la fonction de « couper à la sélection » dans le menu édition.
Construction de la fonction de « mixage par copier / coller ».
Correction de l'appel « supprimer », qui maintenant supprime réellement des données au lieu de couper et copier la sélection dans le presse-papiers (sauvegarde du contenu du presse-papiers).
1999-12-18 (par mwilz@ernie.mi.uni-koeln.de)
Changement des noms de fichiers en correspondance avec les noms des classes.
Une classe par fichier est maintenant le standard.
Ajout à plusieurs noms de classes du suffixe « Kwave ».
1999-12-10 (par Thomas.Eschenbacher@gmx.de)
Suppression de l'option de compilation « -Werror » (problème avec le script de configuration).
Correction d'un bogue complexe dans « SignalManager::save » qui arrête anormalement l'application et la libstdc++.
1999-12-09 (par Thomas.Eschenbacher@gmx.de)
Correction d'un bogue de perte de mémoire concernant le destructeur de la classe « SignalManager ».
Ajout d'un fichier TODO.
Ajout de l'option de compilation « -Werror » pour le compilateur c++ lorsque les options de débogage sont activées.
Nettoyage de quelques fichiers d'en-tête dans « libgui ».
1999-12-07 (par Thomas.Eschenbacher@gmx.de)
La fonction « SignalManager::writeWavChunk » utilise maintenant une mémoire tampon pour l'écriture (plus rapide !).
Correction de bogue : le titre de la fenêtre principal change après un « Sauvegarder dans ».
Correction de bogue : la sélection d'une résolution fonctionne maintenant.
Correction de bogue : le titre de la fenêtre principal change après un « Sauvegarder dans ».
Correction de bogue : la fonction « SignalManager::writeWavChunk » ne détruit plus les données du fichier sonore avant de l'avoir enregistrer.
Un « make distclean » dans la racine du projet supprime aussi les fichiers vide, « *.orig », « *.rej » et « *~ ».
Les liens symboliques vers les fichiers Makefiles, Makefile.in et Makefile.am dans les dossiers des modules externes sont supprimés avec « make distclean » et reconstruit par « make ».
Nettoyage : suppression de quelques anciens fichiers de sauvegarde.
Le support du débogage est maintenant facile à utiliser.
« configure --enable-debug=yes » (options de compilation « -g » et « -DDEBUG »).
Réécriture d'une grande partie de Makefile.in pour les modules externes.
Ajout de l'option de compilation « -O2 ».
1999-12-03 (par Thomas.Eschenbacher@gmx.de)
Fusion avec la version de Martin Wilz's.
1999-11
Script de Thomas Eschenbacher pour la numérotation des versions.
« KTMainwindow » est maintenant utilisée pour les « Widgets » de haut niveau.
Utilisation d'un « timer » pour vérifier les messages systèmes -> le message alternatif (threadsafe) passe à la place d'un signal ou d'un slot.
Les sources pour les fonctions de marquage ont été réécrites et sont maintenant incompatibles avec les anciennes versions.
Regroupement des routines de chargement.
1999-10
La suppression des canaux fonctionne.
Correction de la boîte de dialogue pour la sauvegarde du marquage.
Correction de la boîte de dialogue pour la modification de l'enveloppe d'un signal.
Raccordement de plusieurs fonctions par une chaîne de caractères commune.
Correction de quelques dépendances entre l'ancien code et les nouvelles classes (il reste encore des choses à faire !).
La sauvegarde d'un fichier sonore fonctionne.
Correction de la classe « Clipboard ».
La classe « Color » a été changée en « QColor » (elle pourra devenir indépendante plus tard).
Restructuration de la classe « Curve » pour la création de chaîne. L'interpolation est maintenant utilisée par les objets de cette classe.
Déplacement des fonctions graphiques dans une nouvelle bibliothèque (libkwavegui).
Nouvelles classes : « Parser », « DynamicLoader », et « Filter » (elles étaient précédemment des structures).
Déplacement des fonctions graphiques indépendantes dans une nouvelle librairie (libkwave).
Regroupement des boîtes de dialogue dans des fichiers uniques et dans des simples modules externes.
Nouveau schéma d'appel via des lignes de commandes. Cela permettra des appels par des scripts et la définition de macros. Les enchaînements sont construis plus facilement, car par une seule chaîne de caractères sont passés tous les paramètres.
Les fonctions d'entrées / sorties et de lecture sont adaptées à « SignalManager ».
Ajout de la classe « SignalManager » pour la gestion de plusieurs canaux.
0.29.5 [04-1998]
Juste la correction d'un bogue concernant le zoom arrière.
0.29.4 [03-1998]
Suppression d'une perte de mémoire dans la lecture audio.
Triple vérification de l'oubli des raccourcis clavier dans « Menumanager ». Cela semble être un bogue dans « qpopmenu », j'attendrai que la librairie Qt soit corrigée, ou qu'une solution palliative soit trouvée.
La liste des fichiers récemment ouverts est constamment mise à jour pendant l'exécution du programme.
Pour une plus grande facilité, Kwave utilise le dossier récemment utilisé pour l'ouverture un fichier.
Rétablissement des mécanismes de sélection pour rassembler les versions antérieures à la 0.29.3 et quelques corrections récentes.
Maintenant tous les paramètres des destructeurs doivent avoir disparu.
0.29.3 [02-1998]
Le développement a ralenti, et cette version n'est pas complète comme je le souhaitais depuis la 0.29.2. La modification de tous les destructeurs de classes a été mis de coté, et le programme ne se compile pas sur tous les systèmes -> On y reviendra plus tard...
Restructuration des routines de sélection dans les nouvelles classes. Le code est plus confus, mais il fonctionne.
Ajout de marques de vérifications.
Conversion du menu Fichier dans la nouvelle arborescence des menus.
Ajout d'une interface graphique pour mixer 2 canaux ensemble. Le besoin de fonctions pour le mixage sont toujours d'actualité.
Bouton d'arrêt par Gerhard Zintel.
0.29.2
Déplacement des fonctionnalités du presse-papiers dans une classe dédiée.
L'allocation dynamique des entrées des menus est utilisée par toutes les classes sauf « TopWidget ».
Importation de fichier ASCII.
0.29.1
Correction de bogues pour la sauvegarde de canaux multiples. Maintenant, la sauvegarde de fichiers doit fonctionner avec d'autres programmes.
Fonctionnalité d'écrétage de pics par Gerhard Zintel.
0.29.0
Changement du numéro de version et de nom de fichiers comme suggéré par la version 1.1 du document « How To Name Things » sur le site WEB « sunsite ». Le dernier nombre sera toujours marqué d'un 0 pour une version qui sera chargée sur « ftp.kde.org ».
Ajout des boîtes de dialogues pour les fonctionnalités de fenêtrages (Hamming Hanning, Blackmann).
Contribution de la part de Gerhard Zintel pour l'affichage d'information concernant « fftview ».
Ajout d'une fenêtre pour la gestion des « pitchs ».
Implantation du curseur et de l'échelle en décibel pour la vue sur les transformées de Fourrier.
Ajout d'une fonctionnalité sur la re-sélection et le changement de place du curseur.
Ajout de différentes possibilités d'affichage en fonction de la représentation des fréquences.
Correction d'un gros bogue concernant la sauvegarde en 16 bits.
Support du « mmaping » par Juhana Kouhia.
Ajout de nouvelles possibilités pour la génération de signaux : trains d'impulsions.
Ajout d'un modèle pour les systèmes qui ne gèrent pas les threads Posix -> il sera nécessaire de le déclarer dans le script de configuration (changement du fichier « Makefile » pour ne pas avoir d'édition des liens avec la bibliothèque « libpthread »).
Première utilisation du multithreading (pthreads) dans quelques fonctions.
La génération de « pitchs » est maintenant indépendante de la synthèse additionnelle.
Ajout des fonctions d'importations via des fichiers ASCII.
Les labels ASCII sont également sauvegardés via la fréquence.
La génération de labels est accordée avec la détection de périodes (auto-correllation).
Les classes « Sonagram », « FFTView » et « Distortion-Dialog » utilise maintenant la classe « ScaleWidgets ».
Nouvelle classe « ScaleWidget » qui donne plus d'informations à l'utilisateur.
Ajout des classes « ProgressDialog » et « Interpolation » pour permettre le multithreading.
Correction de quelques bogues mineurs.
0.28 [15-07-1998]
Changement dans la classe « curvewidget ».
Le tri des labels fonctionne maintenant sans écraser les opérations de « QGList::compareItems ».
Correction de bogues dans la sauvegarde d'une sélection.
Ajout d'une fonction de sauvegarde d'une sélection.
Fonction de recherche de signaux dans markers.cpp : interface graphique.
Quelques petites corrections de bogues.
0.27
Première version, qui n'a jamais été chargé sur « ftp.kde.org » (serveur FTP non opérationnel).
Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team