FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Dessin de VU-metre analogique Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
Dessin de VU-metre analogique Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Dessin de VU-metre analogique Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Dessin de VU-metre analogique Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Dessin de VU-metre analogique Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Dessin de VU-metre analogique Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Dessin de VU-metre analogique Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Dessin de VU-metre analogique Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Dessin de VU-metre analogique Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Dessin de VU-metre analogique Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Dessin de VU-metre analogique Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Dessin de VU-metre analogique Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Dessin de VU-metre analogique Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Dessin de VU-metre analogique Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Dessin de VU-metre analogique Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
-40%
Le deal à ne pas rater :
(CDAV) Machine à pâtes Philips 7000 series HR2665/96 à 148,99€
148.88 € 249.99 €
Voir le deal

 

 Dessin de VU-metre analogique

Aller en bas 
3 participants
AuteurMessage
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

Dessin de VU-metre analogique Empty
MessageSujet: Dessin de VU-metre analogique   Dessin de VU-metre analogique EmptyMar 26 Juin 2018 - 9:00

Suite à la discussion sur les VU-metres (https://panoramic.1fr1.net/t4189-realiser-un-vue-metre), voici un programme pour FBPano qui dessine un de ces appareils dans sa version analogique.

Ici l'aiguille parcourt tout le cadran puis revient à son point de départ et recommence.

Ce programme requiert la dernière version (0.34) de FBPano.

Code:

' VU-metre analogique
' L'echelle va de 30° à 150° et correspond à des intensités de 0 à 1.5
' --------------------------------------------------------------------

' Definition d'un type "Graduation" :
' dB     : niveau en decibels
' a      : angle en degrés sur l'échelle
' x1, y1 : origine du trait de graduation
' x2, y2 : extrémité du trait de graduation
' x3, y3 : position du label

type t_grad = (dB, a%, x1%, y1%, x2%, y2%, x3%, y3%)

const N = 11         ' Nb de graduations

dim grad<t_grad>(N)  ' Graduations

data -20, -10, -7, -5, -3, -2, -1, 0, 1, 2, 3  ' Labels

dim xc%, yc%, r%     ' Centre et rayon du cercle

dim font% = FL_TIMES ' Police de caractères
dim size% = 20       ' Taille des caractères

const WCAN = 400, HCAN = 300  ' Taille du CANVAS

form 0, 100, 100, WCAN + 20, HCAN + 20, "VU-mètre"

xcanvas 1, 10, 10, WCAN, HCAN

on_canvas_draw 1, draw1

on_timer 1, timer1

init()
start 0

sub init()
' Initialise les variables globales

  dim i%, z, ar, dx%, dy%, xt%, yt%, wt%, ht%, r1%, da

  xc = WCAN \ 2
  yc = 0.8 * HCAN
  r  = 0.6 * HCAN

  2d_font font, size

  for i = 1 to N
    with grad(i)
      read .dB
      z = 10^(.dB / 20)              ' Intensité
      .a = 30 + 120 * (1 - z / 1.5)
      ar = .a * 0.01745              ' Radians

      dx = r * cos(ar)
      dy = r * sin(ar)

      .x1 = xc + dx
      .y1 = yc - dy

      .x2 = xc + 1.1 * dx
      .y2 = yc - 1.1 * dy

      2d_text_extension str(.dB), xt, yt, wt, ht

      r1 = 1.05 * r + ht
      da = wt / (2 * r1)
      ar = ar + da

      .x3 = xc + r1 * cos(ar)
      .y3 = yc - r1 * sin(ar)
    end_with
  next i
end_sub

sub draw_vu(angle%)
' Dessine le VU-mètre pour une position donnée de l'aiguille en degrés

  dim i%, ar

  2d_box 0, 0, WCAN, HCAN, FL_BORDER_BOX, &hFFFFCC00

  2d_pen_color_fl FL_BLACK
  2d_pen_style 0, 2
  2d_pie xc, yc, 15

  2d_pen_color_fl FL_RED
  2d_pen_style 0, 10
  2d_arc xc, yc, r, r, 30, 70

  2d_pen_color_fl FL_GREEN
  2d_pen_style 0, 10
  2d_arc xc, yc, r, r, 70, 150

  2d_pen_color_fl FL_BLACK
  2d_pen_style 0, 2
  2d_arc xc, yc, r, r, 30, 150

  2d_font font, size + 10
  2d_print_box "dB", 50, 0.3 * HCAN, WCAN - 100, 100

  ' Dessin des graduations

  2d_font font, size

  for i = 1 to N
    with grad(i)
      2d_line .x1, .y1, .x2, .y2
      2d_print str(.dB), .x3, .y3, .a + 270
    end_with
  next i

  ' Dessin de l'aiguille

  ar = angle * 0.01745
  2d_pen_style 0, 2
  2d_line xc, yc, xc + r * cos(ar), yc - r * sin(ar)
end_sub

sub draw1()
' Parcourt toute l'échelle (30° - 150°)

  dim_static angle% = 150

  draw_vu angle

  angle = angle - 1
  if angle = 30 then angle = 150
end_sub

sub timer1()
  object_redraw 1
  timer_interval 0.1
end_sub
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
Fredisland




Nombre de messages : 261
Date d'inscription : 30/03/2018

Dessin de VU-metre analogique Empty
MessageSujet: Re: Dessin de VU-metre analogique   Dessin de VU-metre analogique EmptyMer 27 Juin 2018 - 8:09

---------------------------
Panoramic_editor
---------------------------
(32) Illegal instruction. Line : 13
---------------------------
OK  
---------------------------


Code:
13 type t_grad = (dB, a%, x1%, y1%, x2%, y2%, x3%, y3%)
Revenir en haut Aller en bas
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

Dessin de VU-metre analogique Empty
MessageSujet: Re: Dessin de VU-metre analogique   Dessin de VU-metre analogique EmptyMer 27 Juin 2018 - 9:05

Oui c'est un programme pour FBPano, pas pour Panoramic Smile
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
Fredisland




Nombre de messages : 261
Date d'inscription : 30/03/2018

Dessin de VU-metre analogique Empty
MessageSujet: Re: Dessin de VU-metre analogique   Dessin de VU-metre analogique EmptyMer 27 Juin 2018 - 11:53

jean_debord a écrit:
Oui c'est un programme pour FBPano, pas pour Panoramic Smile

Ah ok désolé - Bon tant pis Smile
Revenir en haut Aller en bas
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

Dessin de VU-metre analogique Empty
MessageSujet: Re: Dessin de VU-metre analogique   Dessin de VU-metre analogique EmptyJeu 28 Juin 2018 - 9:11

Voici une version à 2 vu-mètres pour la stéréo. Ici l'aiguille de gauche parcourt la partie verte et celle de droite la partie rouge.

Le programme ne montre que le dessin. Il n'y a pas encore de fonctions sonores dans FBPano. Cela viendra plus tard ...

Code:

' VU-metre analogique
' L'echelle va de 30° à 150° et correspond à des intensités de 0 à 1.5
' --------------------------------------------------------------------

' Definition d'un type "Graduation" :
' dB     : niveau en decibels
' a      : angle en degrés sur l'échelle
' x1, y1 : origine du trait de graduation
' x2, y2 : extrémité du trait de graduation
' x3, y3 : position du label

type t_grad = (dB, a%, x1%, y1%, x2%, y2%, x3%, y3%)

const N = 11         ' Nb de graduations

dim grad<t_grad>(N)  ' Graduations

data -20, -10, -7, -5, -3, -2, -1, 0, 1, 2, 3  ' Labels

dim xc%, yc%, r%     ' Centre et rayon du cercle

dim font% = FL_TIMES ' Police de caractères
dim size% = 20       ' Taille des caractères

const WCAN = 400, HCAN = 300  ' Taille du CANVAS

form 0, 100, 100, 2 * WCAN + 30, HCAN + 20, "VU-mètre"

xcanvas 1, 10, 10, WCAN, HCAN
xcanvas 2, WCAN + 20, 10, WCAN, HCAN

on_canvas_draw 1, draw1
on_canvas_draw 2, draw2

on_timer 1, timer1
on_timer 2, timer2

init()
start 0

sub init()
' Initialise les variables globales

  dim i%, z, ar, dx%, dy%, xt%, yt%, wt%, ht%, r1%, da

  xc = WCAN \ 2
  yc = 0.8 * HCAN
  r  = 0.6 * HCAN

  2d_font font, size

  for i = 1 to N
    with grad(i)
      read .dB
      z = 10^(.dB / 20)              ' Intensité
      .a = 30 + 120 * (1 - z / 1.5)
      ar = .a * 0.01745              ' Radians

      dx = r * cos(ar)
      dy = r * sin(ar)

      .x1 = xc + dx
      .y1 = yc - dy

      .x2 = xc + 1.1 * dx
      .y2 = yc - 1.1 * dy

      2d_text_extension str(.dB), xt, yt, wt, ht

      r1 = 1.05 * r + ht
      da = wt / (2 * r1)
      ar = ar + da

      .x3 = xc + r1 * cos(ar)
      .y3 = yc - r1 * sin(ar)
    end_with
  next i
end_sub

sub draw_vu(angle%)
' Dessine le VU-mètre pour une position donnée de l'aiguille en degrés

  dim i%, ar

  2d_box 0, 0, WCAN, HCAN, FL_BORDER_BOX, &hFFFFCC00

  2d_pen_color_fl FL_BLACK
  2d_pen_style 0, 2
  2d_pie xc, yc, 15

  2d_pen_color_fl FL_RED
  2d_pen_style 0, 10
  2d_arc xc, yc, r, r, 30, 70

  2d_pen_color_fl FL_GREEN
  2d_pen_style 0, 10
  2d_arc xc, yc, r, r, 70, 150

  2d_pen_color_fl FL_BLACK
  2d_pen_style 0, 2
  2d_arc xc, yc, r, r, 30, 150

  2d_font font, size + 10
  2d_print_box "dB", 50, 0.3 * HCAN, WCAN - 100, 100

  ' Dessin des graduations

  2d_font font, size

  for i = 1 to N
    with grad(i)
      2d_line .x1, .y1, .x2, .y2
      2d_print str(.dB), .x3, .y3, .a + 270
    end_with
  next i

  ' Dessin de l'aiguille

  ar = angle * 0.01745
  2d_pen_style 0, 2
  2d_line xc, yc, xc + r * cos(ar), yc - r * sin(ar)
end_sub

sub draw1()
' Parcourt la parte verte (71° - 150°)

  dim_static angle% = 150

  draw_vu angle

  angle = angle - 1
  if angle = 71 then angle = 150
end_sub

sub draw2()
' Parcourt la parte rouge (30° - 71°)

  dim_static angle% = 71

  draw_vu angle

  angle = angle - 1
  if angle = 30 then angle = 71
end_sub

sub timer1()
  object_redraw 1
  timer_interval 0.1
end_sub

sub timer2()
  object_redraw 2
  timer_interval 0.1
end_sub

Dessin de VU-metre analogique Vu_met10
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
Navigateur

Navigateur


Nombre de messages : 42
Age : 76
Localisation : Les Clayes-sous-bois 78340
Date d'inscription : 02/09/2016

Dessin de VU-metre analogique Empty
MessageSujet: Re: Dessin de VU-metre analogique   Dessin de VU-metre analogique EmptyJeu 28 Juin 2018 - 11:52

Bonjour,

Merci Jean pour ces beaux vumètres illustrant bien l'utilisation du nouvel objet CANVAS.

J'ai testé le programme proposé avec la version 0.34 et FBIde.

J'attends avec impatience les fonctions sonores.

Navigateur
Revenir en haut Aller en bas
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

Dessin de VU-metre analogique Empty
MessageSujet: Re: Dessin de VU-metre analogique   Dessin de VU-metre analogique EmptyVen 29 Juin 2018 - 9:24

Bonjour,

Pour les fonctions sonores je compte faire une interface pour la bibliothèque FBSOUND de D. J. Peters :

https://freebasic.net/forum/viewtopic.php?f=14&t=17740

Tu peux déjà l'installer et la tester avec FreeBASIC. Personnellement je trouve les résultats assez impressionnants (mais je ne suis pas expert dans ce domaine ...)
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
Contenu sponsorisé





Dessin de VU-metre analogique Empty
MessageSujet: Re: Dessin de VU-metre analogique   Dessin de VU-metre analogique Empty

Revenir en haut Aller en bas
 
Dessin de VU-metre analogique
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Réaliser un vue mètre
» Dessin 2d
» Dessin sur A4
» Dessin
» Dessin d'arc

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: Grands projets réalisés avec Panoramic :: Compilateur FBPANO-
Sauter vers: