SoundEditor 19-4

Vous avez développé un logiciel en PureBasic et vous souhaitez le faire connaitre ?
Avatar de l’utilisateur
ZapMan
Messages : 460
Inscription : ven. 13/févr./2004 23:14
Localisation : France
Contact :

SoundEditor 19-4

Message par ZapMan »

Image
Ca y est ! C'est emballé ! La version 19-4 est prête. Le recorder de Flype est tellement au top que j'ai quand même pris le temps de l'intégrer dans cette version.

BUGS FIXES :
; Version 19-3
; - incompatibilité avec Windows NT/2000 réglée grace à l'aide de "Rings" du forum anglais
;
; Version 19-4
; - "Fichiers récents" plantait quand on tentait d'ouvrir un fichier qui n'existait plus. Bug détecté et réglé par Flype et Oliv.
; - incompatibilité avec les fichiers 32 bits (détectée par Dobro).
; - pour l'application compilée : on obtenait un plantage quand on plaçait un fichier autre que .wav sur SoundEditor.exe. Bug détecté par Flype.
; - la case de fermeture de fenêtre pouvait provoquer un plantage quand aucune fenêtre document n'était ouverte. C'est encore Flype qui nous a réglé ça.
; - les touches de raccourci étaient inactives dans certaines circonstances
; - le nom du fichier proposé lors d'un "enregistrer sous" comportait parfois une étoile. Bug détecté et réglé par Oliv
; - le fonctionnement des filtres a été accéléré
; - correction d'un petit bug d'affichage dans les filtres

NOUVEAUTES :
; Version 19-4
; - Fonction "Echantillonage"
; - Fonctions "FadeIn", "FadOut" et "Inverser"
; - Relookage de toutes les icones. Ajout d'une icone pour le programme.
; - Zoom vertical
; - Synthétiseur d'onde
; - Filtre Tremolo de Dobro
; - Filtre StereoExpander de Karlkox
; - Filtre Vitesse de Oliv
; - Recorder de Flype
;
L'application compilée est jointe pour ceux qui veulent simplement jeter un coup d'oeil et voir ce que fait ce programme.

Voici ma "TODOLIST" pour la ou les prochaines versions (ça ne sont que mes idées, cette liste pourra s'allonger avec les votres)
- Ré-organisation du code permettant de repérer rapidement les différents modules décrits dans le document "SoundEditor Structure"
- Ré-échantillonage automatique lors du copier/coller quand les sons source et destination ne sont pas échantillonés de la même façon
- Possibilité d'écrire des filtres sous forme de DLL
- Ouverture et enregistrement au format MP3 (grace à l'aide de KarLKox)
- Possibilité de créer une sélection en entrant les coordonnées au clavier
- Module "Préférences" permettant à l'utilisateur de modifier les couleurs d'affichage, l'unité de la règle, le type de son par défaut, le skin, etc.
- Gestionnaire de menus permettant à l'utilisateur de ré-organiser complètement les menus, de leur associer une icone dans la toolbar, de modifier les raccourcis-clavier, de traduire les menus dans une autre langue, etc... C'est un assez gros boulot mais cette partie pourrait être ré-utilisée dans toutes les applications que nous aurions à écrire (en rapport ou non avec SoundEditor)
- Affichage des 2 voies pour les sons stéréo (à la façon du recorder de Flype)
- Fenêtre "About" listant les différents codeurs ayant participé au développement de SoundEditor.
- Filtre "SpeedModifier" permettant de modifier la vitesse sans modifier la durée.
- Filtres passe-haut, passe-bas, etc...
- Fonction "Coller en mixant"
- Fonction "Redo"

Voici les liens de SoundEditor :

http://www.freesoundeditor.com/download ... editor.zip
http://www.freesoundeditor.com/download ... editor.pdf
http://www.freesoundeditor.com/download ... matwav.zip

Attention : pour ceux qui veulent faire/modifier des filtres. J'ai retravaillé les filtres existants pour régler le problème de la compatibilité 32 bits et pour fixer des plantages occasionnels qui pouvaient arriver avec les anciens codes. Si vous souhaitez écrire des filtres, partez des exemples founis avec cette version 19-4. N'utilisez plus les anciens exemples.




Participants au projet SoundEditor

Chef de projet :
- Zapman (pour le moment)

Déclarés partants :
- Zapman
- KarlKox
- Oliv
- Flype
- Dobro
- Jacobus

Réservent leurs réponses :
- Le Soldat Inconnu
- Heis Spiter

Ont déjà participé au debuggage :
- Zapman
- Le soldat Inconnu
- Chris
- cederavic
- Flype
- Dobro
- Rings (forum anglais)
- Lars et NickTheQuick (forum allemand)
- Oliv
- j'espère n'avoir oublié personne

Ont déjà créé une fonction ou un module :
- Zapman
- Dobro
- Oliv
- Flype
- KarLKox

M'ont encouragé :
Ouhla ! Y'a trop de monde ! Merci à tous pour vos encouragements.


Tous les codeurs de bonne volonté sont invités à se joindre à nous !
Dernière modification par ZapMan le mar. 14/sept./2004 1:43, modifié 3 fois.
Tout obstacle est un point d'appui potentiel.

Bibliothèques PureBasic et autres codes à télécharger :https://www.editions-humanis.com/downlo ... ads_FR.htm
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

c trop cool !
j'ai essayé et voir mon recorder dans soundeditor est presqu'un honneur... :P
ya plein de choses à améliorer quant à l'enregistrement audio.
j'ai qq idées je t'en ferais part plus tard... (enfin bon voici 1 des idées : 'direct to disc' ou 'ram')
sinon il y a un petit bug d'affichage :
quand on ouvre mon recorder depuis soundeditor et que l'on bouge la fenetre du recorder par dessus la toolbar de soundeditor le rafraichissement ne fait pas; contrairement aux autres fenetres de filtres par exemple.
Image
Heis Spiter
Messages : 1092
Inscription : mer. 28/janv./2004 16:22
Localisation : 76
Contact :

Message par Heis Spiter »

Je suis vachement impressionné ! 8O .
Je vais en profite pour répondre quand à ma participation.
Et bien c'est non (me faites pas la tête :cry: ), pour deux raisons :
1 - Je n'ai pas le niveau, c'est clair net et prècis. Je me répete encore une fois, peut-être que je fais des choses qui pourraient paraitre pro, mais je suis un bidouilleur. Je prend des chemin détournés pour faire, et c'est moins efficace.
2 - J'ai l'impression d'être tout seul à travailler sur Bird Chat, donc, je fait tout tout seul :cry: . Et cela va me demander beaucoup de temps.
Voila, je suis désolé Zapman, ainsi que tout les participants.

@Zapman : elles étaient très bien mes vacances :wink: merci :)
Heis Spiter, webmaster du site http://www.heisspiter.net
Développeur principal et administrateur du projet Bird Chat
Parti courir au bonheur du dév. public et GPL :D
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

Heis Spiter a écrit : 1 - Je n'ai pas le niveau, c'est clair net et prècis. Je me répete encore une fois, peut-être que je fais des choses qui pourraient paraitre pro, mais je suis un bidouilleur. Je prend des chemin détournés pour faire, et c'est moins efficace.
Tu ne participes pas et je ne t'en veux pas du tout, mais quand on voit ça il faut arrêter tes bétises, on est tous (ou presque) comme toi, a prendre des chemin détournés, ou alors je me prends pour le centre du monde :P :P
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

@oliv
oui, enfin ya des chemins détournés plus longs que d'autres :P

@heis spiter
mais c'est vrai qu'on a tous l'impression parfois de prendre le seul chemin qu'on connaisse tout en sachant qu'il y a forcément mieux à faire !
bah oui, mais bon vu qu'il faut bien avancer alors on fait tous des choses qui en outreraient d'autres. c'est le produit fini qui compte :wink:

d'ailleurs honnêtement quand j'ai commencé à regarder pour la première fois le source de soundeditor je me suis dit pffff, c'est bien ou mal programmé çà, c'est propre ou c'est crade, ahhh je suis perdu ? et puis très vite j'ai vu les petites choses pas très conventionnelles, des tests non effectués, des choses pro, d'autres moins, mais çà marche et puis c'est bien pensé... tout comme birdchat :wink:

et puis te laisse pas avoir par le coté impressionnant.
un logiciel audio dessinant des graphs, appliquant des effets spéciaux et tout, forcément çà en jète un peu. c'est sans doute pour çà qu'on le fait d'ailleurs :P
Dernière modification par Flype le ven. 13/août/2004 22:48, modifié 3 fois.
Image
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

aller, je me lance dans l'aventure, finis de tergiverser ;)
je veux bien m'occuper de te faire une jolie apparence si ça t'intéresse ?
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

:evil: Détection de bug

bug sous win98 à l'ouverture de la fenetre d'aide/about à cause de la transparence
il faudrait détecter la version de windows et n'appliquer la transparence que si >= win2000
ca devrait pas etre trop dur

avec çà çà devrait aller mieux :

Code : Tout sélectionner

Procedure SetWinOpacity (hWnd.l,Opacity.l)
  If OSVersion()>=#PB_OS_Windows_2000
    SetWindowLong_(hWnd,#GWL_EXSTYLE,$00080000)
    SetLayeredWindowAttributes_(hWnd,#Null,Opacity,2)
  EndIf
EndProcedure 

OpenWindow(0,0,0,300,300,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"") 
SetWinOpacity(WindowID(),100) 

Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow 

Image
Avatar de l’utilisateur
ZapMan
Messages : 460
Inscription : ven. 13/févr./2004 23:14
Localisation : France
Contact :

Message par ZapMan »

Je suis vraiment trés, trés enthousiaste de voir notre petite équipe travailler avec autant de bonheur (et d'efficacité !!) sur ce projet. Voilà, il fallait que je le dise, j'en ai presque la larme à l'oeil tellement je trouve ça fantastique. Snif...

@Heis : je comprends parfaitement que ton projet actuel ne te laisse pas le temps nécessaire pour t'investir dans SoundEditor. Un peu plus tard, peut-être ? Je suis un gars extrêmement têtu et persévérant et je te promets que l'aventure est loin, trés loin de toucher à sa fin.

@Soldat inconnu : Welcome ! Je ne suis sûrement pas le seul à considérer que tu es le "pillier" de ce forum et c'est un immense honneur de te compter parmis nous. J'ai un peu amélioré le design du programme mais il y a encore beaucoup à faire. Si tu as des idées concernant les menus paramétrables, ça serait aussi assez cool. J'ai une certaine idée du concept de base (voir ma ToDoList, plus haut), mais pour le reste, c'est encore un peu flou.

@Flype : tu es fantastique, comme debugger. Oliv m'a aussi relevé 2 petits bugs que j'ai corrigé (entre autre : le programme ne voulait pas se quitter !!). La version 19-4b remplace la 19-4 à la même adresse.


Infos :
- Oliv se propose de travailler sur la gestion de filtres sous forme de DLL.
- J'ai commençé à travailler sur le site Web de SoundEditor. Cela permettra de mettre tout un tas de docs en ligne. Cela dit, il ne sera probablement pas opérationnel avant 2 mois (c'est mon premier site, et j'y vais doucement)
Tout obstacle est un point d'appui potentiel.

Bibliothèques PureBasic et autres codes à télécharger :https://www.editions-humanis.com/downlo ... ads_FR.htm
Heis Spiter
Messages : 1092
Inscription : mer. 28/janv./2004 16:22
Localisation : 76
Contact :

Message par Heis Spiter »

Bon, j'ai compris ;) Je vous aiderais de temps en temps. ;) Je vais déjà poser ma pierre à l'édifice : Pour faire l'animation de transparence (toujours pour les même OS), il y a bien plus simple.

Code : Tout sélectionner

#AW_BLEND = $80000
#AW_HIDE = $10000
; Ouvre une fenêtre invisible
If OSVersion()>=#PB_OS_Windows_2000
  hw=OpenWindow(30, 0, 0, ww, wh,  #PB_Window_ScreenCentered | #PB_Window_Invisible | #PB_Window_SystemMenu | #PB_Window_TitleBar, Title1$)
  ; Pour afficher la fenêtre.
  AnimateWindow_(hw, 1500, #AW_BLEND)
  Delay(5000)
  ; Pour enlever la fenêtre
  AnimateWindow_(hw, 1500, #AW_BLEND | #AW_HIDE)
  CloseWindow(30)
Else
  hw=OpenWindow(30, 0, 0, ww, wh,  #PB_Window_ScreenCentered | #PB_Window_SystemMenu | #PB_Window_TitleBar, Title1$)
EndIf
1500, c'est le temps de l'animation.
Heis Spiter, webmaster du site http://www.heisspiter.net
Développeur principal et administrateur du projet Bird Chat
Parti courir au bonheur du dév. public et GPL :D
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

merci Heis :wink:

bon il est temps de l'avouer :
j'aime pas du tout le langue/language/sprache dans le menu
ca alourdi vachement l'interface

on pourrait faire plutot comme çà :

Code : Tout sélectionner

Menu
    Aide
        English
        Français
        Deutsch
        ----------
        Couleurs
        ----------
        A Propos
et aussi il serait pal mal de pouvoir personnaliser un maximum d'éléments de l'interface à l'image du recorder et son fichier .ini
dont tu peux t'inspirer grandement
. sauvegarde de la position de la fenetre
. sauvegarde des couleurs (fond,échelle,onde,etc...)
. sauvegarde de la langue
Image
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

j'en en tête de faire une lib pour faire des menus sympa, une fois finis, je l'intégrerai dans SoundEditor.

je m'occuperai également de faire de joli icône pour les boutons, j'en ai déjà quelques un qui pourrait servir ;)
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

@Flype : tu es fantastique, comme debugger
Le Soldat Inconnu est très bon aussi à ce petit jeu, bienvenu à toi :D
Image
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

@regis
j'en en tête de faire une lib pour faire des menus sympa
connais-tu ' BeatnikGUI ' ?
(http://www.serveurperso.com/~flype/BeatnikGUI.zip)
si çà t'intéresse... :roll:
Image
Avatar de l’utilisateur
ZapMan
Messages : 460
Inscription : ven. 13/févr./2004 23:14
Localisation : France
Contact :

Message par ZapMan »

Flype a écrit :1- bon il est temps de l'avouer :j'aime pas du tout le langue/language/sprache dans le menu
2- et aussi il serait pal mal de pouvoir personnaliser un maximum d'éléments de l'interface à l'image du recorder et son fichier .ini
dont tu peux t'inspirer grandement
. sauvegarde de la position de la fenetre
. sauvegarde des couleurs (fond,échelle,onde,etc...)
. sauvegarde de la langue
1- Je crois que tu as raison. J'avais comme soucis de rendre trés apparent la possibilité de choisir sa langue, mais bon... le jour ou il y aura 12 langues disponibles, on ne pourra de toute façon pas faire tenir tout ça dans un titre de menu
2- Je suis en train de bosser dessus. J'avais sous exploité la gestion du fichier "Préférence". Cela dit, la langue était déjà sauvegardée :wink:

@Heis : trés fort, ton "AnimateWindow", je ne connaissais pas ! Mais avec cette instruction, je n'arrive pas à avoir l'animation du haut qui démarre dès le début de la transparence. Je sais, c'est un détail, mais de toute façon nous sommes en plein dans la futilité avec cette histoire de transparence, alors tant qu'on y est, allons jusqu'au bout et soignons les détails ! Puisqu'il semble que le bazard actuel marche bien sur toutes les plate-formes, je propose de le laisser tel quel. Je garde ton plan pour une autre occasion.
Le Soldat Inconnu a écrit :j'en en tête de faire une lib pour faire des menus sympa, une fois finis, je l'intégrerai dans SoundEditor.
Il y a un truc qui me gave, c'est qu'à chaque fois que je dois ajouter une commande dans un menu, c'est tout un bazard (surtout avec la gestion multilangues). Je dois :
- modifier les datas des trois langues (bon, ça, à la limite, je veux bien)
- créer un "Case" dans "ManageMenuEvents"
- si la ligne doit être parfois activée, parfois désactivée, il faut gérer ça dans la procédure "RefreshMenu"
- si la fonction à une icone associée, il faut déclarer l'icone dans "Installation of MainWindow", l'ajouter à la barre d'outil dans "InitSEToolBar" et ne pas oublier de lui associer le "Tip" dans la même procédure.
- si les raccourcis clavier ne sont pas des raccourcis standards, il faut les gérer dans "ManageKeyEvents"
PPPPPFFFFFFFFFFFFFF..........
Je me dis qu'il faudrait faire une procédure "DeclareMenu" que je pourrais utiliser comme suit :
#MaxLanguage = 50
Structure MenuSpecies
LineName.s
LocalName.s[#MaxLanguage]
ShortCut.s
Icone.l
ActivationMode.l
EndStructure
MenuLine.MenuSpecies\LineName = "File"
MenuLine.MenuSpecies\LocalName[0] = "File"
MenuLine.MenuSpecies\LocalName[1] = "Fichier"
.......
.......
DeclareMenu(MenuLine)
avec ActivationMode qui peut prendre les valeurs suivantes :
- #Always
- #IfASoundWindowIsOpened
- #IfSoundDurationIsNotNull
- #IfSelection
C'est DeclareMenu qui attribuerait un numéro à la ligne. Dans la boucle des évènements, on mettrait simplement un
Case "File"
(la recherche du nom correspondant au numéro de ligne se ferait en début de boucle)
Cette construction permettrait de faire par la suite un petit requester qui permettrait à l'utilisateur de modifier les noms des commandes (pour les adapter à sa propre langue, par exemple) mais aussi l'organisation des menus, les icones associées, etc... tous ces paramètres étant enregistrés dans le fichier .pref

Qu'est-ce-que tu en dis ?
Tout obstacle est un point d'appui potentiel.

Bibliothèques PureBasic et autres codes à télécharger :https://www.editions-humanis.com/downlo ... ads_FR.htm
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

@ le soldat :

ce serai bien d'incorporer l'anime de transparence de Heiss a notre petite librairie d'animation de fenetre, qu'en pense tu ?? :)
Répondre