Accueil > > > DSPACK, UNE PROCEDURE SETPOSITION DANS LE COMPOSANT TDSTRACKBAR
DSPACK, UNE PROCEDURE SETPOSITION DANS LE COMPOSANT TDSTRACKBAR
Information sur la source
Description
Pour ceux qui ne connaisse pas DSPack (www.progdigy.com), c'est une librairie qui permet via ses composants de faire des traitements video/audio avec directshow; pour faire un player, logiciel de capture ou d'encodage. Ce que je propose ici, c'est de rajouter une petite procedure dans le composant TDSTrackBar, car celui ci n'est pas trés beau et de plus il ne reagis pas si on lui change la proprietée "Position" via une methode car, pour dire au composant principal qu'il faut changer la position de lecture il utilise l'evenement OnMouseUp, ce qui fait echouer une tentative de changement de position via le programme ou une autre trackbar etc... je tiens a preciser que cette "modification" n'entraine pas d'erreur ou de mauvais fonctionnement, mais ce serat a vous de securiser sont utilisation pour eviter les messages d'erreur si, par exemple, on change la position alors qu'aucun media n'est present dans le composant principal (filtergraph). passons au code.
Source
- {
- ouvrez le fichier DSpack.pas qui se trouve dans le repertoire par defaut :
- ./lib/dspack/src/DSpack
- trouvez le composant TDSTrackBar (ligne 1213) dans la version V2.3.3 du fichier.
- Dans le champs Public, aprés Constructor et Destructor, ajoutez la declaration
- de la nouvelle procedure comme suit :
- }
-
- public
- { constructor method. }
- constructor Create(AOwner: TComponent); override;
- { destructor method. }
- destructor Destroy; override;
- {External Position seter}
- procedure SetPosition(NewPosition : integer);
-
- {
- une fois cela fait, allez dans l'Implementation,
- localisez la procedure TDSTrackBar.MouseUp (ligne 3825),
- ajoutez aprés cette dernier notre procedure SetPosition comme suit :
- }
-
- procedure TDSTrackBar.SetPosition(NewPosition : integer);
- var StopPosition, CurrentPosition : int64;
- begin
- if assigned(FMediaSeeking) then begin
- FMediaSeeking.GetStopPosition( StopPosition );
- CurrentPosition := ( StopPosition * NewPosition ) div max;
- FMediaSeeking.SetPositions
- (
- CurrentPosition,
- AM_SEEKING_AbsolutePositioning,
- StopPosition,
- AM_SEEKING_NoPositioning
- );
- end;
- end;
-
- {
- voila la modification est faite, enregistrez le fichier et c'est tout.
- }
{
ouvrez le fichier DSpack.pas qui se trouve dans le repertoire par defaut :
./lib/dspack/src/DSpack
trouvez le composant TDSTrackBar (ligne 1213) dans la version V2.3.3 du fichier.
Dans le champs Public, aprés Constructor et Destructor, ajoutez la declaration
de la nouvelle procedure comme suit :
}
public
{ constructor method. }
constructor Create(AOwner: TComponent); override;
{ destructor method. }
destructor Destroy; override;
{External Position seter}
procedure SetPosition(NewPosition : integer);
{
une fois cela fait, allez dans l'Implementation,
localisez la procedure TDSTrackBar.MouseUp (ligne 3825),
ajoutez aprés cette dernier notre procedure SetPosition comme suit :
}
procedure TDSTrackBar.SetPosition(NewPosition : integer);
var StopPosition, CurrentPosition : int64;
begin
if assigned(FMediaSeeking) then begin
FMediaSeeking.GetStopPosition( StopPosition );
CurrentPosition := ( StopPosition * NewPosition ) div max;
FMediaSeeking.SetPositions
(
CurrentPosition,
AM_SEEKING_AbsolutePositioning,
StopPosition,
AM_SEEKING_NoPositioning
);
end;
end;
{
voila la modification est faite, enregistrez le fichier et c'est tout.
}
Conclusion
Notez que cette modification ne nuirat pas a vos anciens projets. Par contre n'oubliez pas de notifier et fournir la version modifiée avec votre projet, si vous partagez vos sources avec quelqu'un.
J'ai placé ce code sur le forum de progdigy en esperant qu'ils trouvent l'idée bonne et utile et qu'ils l'implementent dans la prochaine version de DSPack. Je pense qu'il y'a surrement d'autre methodes pour obtenir ce resultat, mais j'ai pris la plus simple et la plus evidente. Son seul defaut est qu'il faut utiliser le composant TDSTrackBar en mode invisible si on utilise une autre TrackBar.
Si jamais vous rencontrez des problemes avec cette methodes, supprimez la modification du fichier ou restaurez votre sauvegarde (car bien sur, vous sauvegardez toujours vos fichiers avant de les modifier!).
voila en esperant que vous trouverez cette astuce utile.
ps : je ne fournis pas le fichier car vous pourriez travailler avec une autre version de DSPack, de plus la modification etant trés simple, je ne vois pas l'utilitée de charger le serveur avec un zip inutile. ;)
pour telecharger le DSPack : www.progdigy.com
Historique
- 24 octobre 2005 19:26:38 :
- - ajout du liens vers le site progdigy
- correction de la source suite a une erreur de // au lieu de {} ^^ (affichage pas jolie)
- 25 octobre 2005 15:12:26 :
- correction de certaines "photes d'ortografe" ^^ et de conjugaison. (se relire ou ne pas ... tel est la question)
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
DSPack [ par mecsympa ]
Grace à l'excellent tuto de Paul Glagla, j'ai commencer a prendre en main le DSPack pour réaliser un programme, mais je me heurte à 2 p
listbox / dspack [ par morinxav2 ]
Bonsoir,j'ai une playlist ou je met tous les mp3 que je veux ecouter, j'en clique une au hasard et avec 2 players (dspack), j'enchaine la musique en l
DsPack [ par morinxav2 ]
Bonjour,Est-ce que quelqu'un pourrais me dire pourquoi les reglages couleurs de dspack ne fonctionne qu'avec certaines cartes graphique?merci d'avance
DSPACK sur Vista, problème de compilation... [ par FrReg ]
Bonjour à tous, j'ai un problème avec l'installation du DSPACK sur Vista. Voila, j'ai un programme à rendre dans 3 semaines pour mon projet d'info. J'
Problem d'installation des packages DSPACK [ par bazbazus ]
salut a tous j'ai un problem d'installation des packages DSPACK234 . quon je essai de installer erreur :" Impossible d'installer le paquet c:\progra
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
Comparez les prix

HTC Hero
Entre 550€ et 550€
|