Cette partie du forum n’est pas compatible avec les bloqueurs publicitaires
Félicitations à vous, de préférer les accès payants plutôt que la gratuité par la publicité, c’est honnorable et cohérent de votre part. Malheureusement, l’accès payant par micropaiement (qui serait d’environ 1 cent pour 20 pages consultées) n’est pour l’instant pas encore mis en place, et l’accès gratuit sans publicité, est réservé aux membres actif(ve)s du forum. En attendant, si vous souhaitez poursuivre votre visite chez nous, vous pouvez ajouter le site à votre liste blanche, ou encore mieux, désactiver le bloqueur partout. Pour ajouter le site à votre liste blanche, pour Firefox (similaire pour les autres navigateurs), rendez‑vous en bas à gauche de la fenêtre de votre navigateur, et cliquez sur le menu comme dans l’exemple de l’image ci‑dessous, puis rechargez la page, en appuyant sur F5.
|
|
Auteur | Message |
---|---|
Beau Parleur
|
Jeu 28 Déc 2017 10:20
Bonjour, bonjour à tous, bonjour Hibou.
Comme je dis dans la catégorie Création perso, cette année (2018) je travaille sur mon projet de compositeur virtuel pour instruments MIDI. J'en suis à mon 5ieme essai qui réussi cette fin d'année à me faire recommencer en apportant les améliorations qui s'imposent. Déjà, ces derniers jours j'ai ré-écrit les base pour partager une unique instance de drivers de périphériques. Ce qui permet de jouer plusieur fichier à la fois. J'ai également implementté un mode play list en boucle eventuellement. Cette fois je viens ici pour spécifier une nouvelle hiérachie d'objet spécifique à un timbre, ou à un plugin. En fait un timbre peut avoir plusieurs plugins. Voici ma specification pour le moment ; Juste deux class de plugin. Source ada :with Ada.Finalization; use Ada.Finalization; La classe Work_Record enveloppe un tableau d'access à la classe Abstract_Plugin_Class pour maintenir un tableau héthérogène de plugin. J'ai en réalité deux classe à l'échele Class_Wide à spécifier, l'une étant celle qui implémente la class concrète des divers plugins ; L'autre étant cette qui va présenter l'interface de ces plugins à l'utilisateur. J'ai en fait besoin d'un coup de main pour commencer ou pour discuter de l'architecture des objets relatif à la musique et au instrument de musique. Bienvenue. Merci. |
|
|
Beau Parleur
|
Jeu 28 Déc 2017 10:31
Si je calcule un peut ce que j'ai fait, il y a un paquet d'endroit ou je vais caster les objet.
J'avais une ou deux question à propos cu cast, est-ce possible de l'évité, si non est-ce normale d'avoir à caster un objet ? |
Beau Parleur
|
Sam 30 Déc 2017 13:02
Bonjour,
J'ai fait un peu différement, mais j'ai un problème d'aiguillage automatique. Dans le main, j'appelle la procédure print pour chacun des plugins contenu dans un work_record mais le compilateur me dit qu'il attends un type implémentant la procedure print, mais que je lui passe un type Abstrait de la classe supérieur. le code : le type abstait de mes plugins : Source ada :package Libsens.Virtual.Plugins is un plugin parmis d'autre : Source ada :with Libsens.Virtual.Plugins; use Libsens.Virtual.Plugins; le cord de la classe Work_Class : ou je fait un test d'initialization. Source ada :with Libsens.Virtual.Cc_Change; use Libsens.Virtual.Cc_Change; Le main : Source ada :with GNAT.Command_Line; use GNAT.Command_Line; Le message de gnatmake : Citation : main.adb:105:25: no candidate interpretations match the actuals: Je suis un peu en retard por l'objet et j'aurais besoin d'un coup de main pour comprendre mon erreur. S'il vous plait !! Merci. |
Beau Parleur
|
Sam 30 Déc 2017 14:12
Ohp !!!!!
J'ai trouvé : j'ai implémenté une procedure print dans WorkClass comme suit : Source ada :procedure Print (Plugin : in Abstract_Plugin_Access) is Dans le main, j'ai enlevée les With de mes bibliothèques de plugins et j'appel print : Print(Plugin): Et ça fonctionne. Merci, a moins que vous ayez mieux à proposer. Bonne fin d'année. |
Beau Parleur
|
Mer 3 Jan 2018 10:37
Bonjour,
Bonne année. J'ai une petit problème, que j'espère temporaire. Je déclare une classe abstraite de laquelle je dérive une sous-classe mais je ne parviens pas à spécifier la procedure initialize qui va avec la sous-classe. Voici mon code : la specification : Source ada :type Abstract_Plugin_Specifications(Class : Plugin_Enum) is abstract tagged l'implémentation : Source ada :-------------------------------------------------------------------------------- Le message d'erreur est le suivant : (que je pige pas tellement je suis null en POO. (bref), Citation : libsens-applications-windows.ads:50:04: type must be declared abstract or "Initialize" overridden Voilà le problème, j'ai cherché, je trouve pas. Merci pour votre aide. |
Beau Parleur
|
Dim 7 Jan 2018 19:28
Bonjour,
Je suis sortie d'affaire à présent pour ce problème pour ce projet. J'en suis à la version 6.5.11a avec le plugin step sequenceur pouvant être sauvegardé et charger sur la ligne de commande. j'ai aussi implementé des bout de code pour les générateur génétique. J'ai encore 38 fichiers à compléter, et ce sont pas les plus simple. A oui, j'ai fait les sequenceur pour les Ctrl change et prgm change. Dans les Pgrm change, les paramètres MSB select et LSB select ne sont pas utilisé. Mais c'est pas sauvegardable. |
Beau Parleur
|
Mer 17 Jan 2018 16:20
Bonjour,
J'allais dire, j'ai terminé mais non, il me reste en réalité encore un peux de travail pour l'ouverture des fichier à partire d'une fenêtre principale, c'est l'operation "open", à faire et peut-être inverser certaine contruction de patterns. Si non la "première" étape est "quasi" achevé. J'ai un paquet de warning mais ça fonctionne quand même. je me suis planté à un endroit. dans le Arp_sequenceur j'ai déclaré step comme un dérivé de note alors que ce son deux type distinct normalement. Je me suis aussi planté dans la hiérachisation de mes objets dérivé de plugin dont 2 classes contiennent 3 sous classe, alors que j'ai simplement fait 6 sous classe de plugin. Une bonne raison pour recommencer. bref. Aujourd'hui j'ai publié la version 6.7.3b. qui maintiens une version de fichiers de réseau de neurones artificiels par fichiers ultrason et par plugin. Si vous utiliser 3 plugins NL_Mod vous trouverez 3 * 3 fichier de réseau dans data/networks/ Si vous souhaitez des présisions, je reviens. Merci pour votre aide et votre contribution. |
|