ACS - Übersicht, Beispiele und Dokumentation -Wer kann helf

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...
Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6857
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

ACS - Übersicht, Beispiele und Dokumentation -Wer kann helf

Beitrag von af0815 »

Hallo Leute,

ich bin jetzt schon öfters über den Begriff ACS gestolpert, habe ihn aber für mich noch nicht greifbar machen können.

Die Hilfe und Beschreibungen auf Audi Component Suite haben meine Fragen zum Einstieg nicht wirklich klären können. Auf der ACS/de Lazarus-ccr ist nicht wirklich viel erklärt und auf der Seite von Andrei Borovsky die Erklärungen sind für einen Fortgeschrittenen hilfreich, aber nicht für einen Einsteiger in ACS.

Frage:
a) In welchen Zustand ist ACS (mehr als Alpha habe ich nicht gefunden)
b) wird daran noch was gemacht (Supported ?!)
c) Was geht mit ACS unter den verschiedenen Plattformen ?
d) Was / wie braucht ACS an externen Bibliotheken und Codecs
e) Gibt es Kode-Schnippels für Anfänger (Wenn es nach den a-e noch sinnvoll ist) :shock:
Zuletzt geändert von af0815 am Do 15. Mär 2007, 17:18, insgesamt 1-mal geändert.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6857
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Beitrag von af0815 »

Habe es jetzt mal heruntergeladen aus den svn und versucht zu kompilieren

Code: Alles auswählen

E:\pascal\lazarus\components\acs\Src\fileformats\acs_dsfiles.pas(152,54) Error: Call by var parameters have to match exactly: Got "_WAVEFORMATEX" expected "TWaveFormatEx"
E:\pascal\lazarus\components\acs\Src\fileformats\acs_dsfiles.pas(5726,14) Hint: Found declaration: IAudioMediaStream.GetFormat(out TWaveFormatEx):LongInt;StdCall
E:\pascal\lazarus\components\acs\Src\fileformats\acs_dsfiles.pas(154,47) Error: Incompatible type for arg no. 1: Got "_WAVEFORMATEX", expected "TWaveFormatEx"
......
E:\pascal\lazarus\components\acs\Src\fileformats\acs_dsfiles.pas(363) Fatal: There were 2 errors compiling module, stopping
Lazarus 0.9.20 beta
v.5.11.2006
FPC 2.0.4
Windows XP prof multilang
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

EugenE
Beiträge: 440
Registriert: So 10. Dez 2006, 14:59
OS, Lazarus, FPC: MacOSX Lion 10.7 (L 0.9.31 FPC 2.7.1)
CPU-Target: 64Bit
Kontaktdaten:

Beitrag von EugenE »

Habe die aktuelle version 2,4 von der seite gezogen und installiert , alles ohne probleme ;)

Laz 0.9.20
WinXP MCE

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Naja schön sowas zu hören aber alles ohne probleme kann man einfach z.Z. nicht sagen.
Codeschnipsel ...
Es gibt in jeder Zip und im Svn einen Demos Ordner mit lazarus Demos.
Was crossplatform geht ist abspielen von wav,flac,mac usw auch convertieren sollte gehen und die meissten filter müssten auch arbeiten.
Im windows geht mp3,wma abspielen was im linux nicht geht.

Wenn du spezielle Probleme oder Fragen hast frag einfach.

Einfaches Beispiel:

TACSFileIn auf deine Form.
TACSAudioOut auf deine Form.

ACSAudioOut1.Input auf ACSFileIn1 setzen

Button dauf.

Code: Alles auswählen

ACSFileIn1.Open; //Zeigt opendialog mit allen registrierten Formaten an Formate mit uses ACSAllformats registrieren ...
ACSAudioOut1.Run;
wenn du auf den Button klickst geht ein Dialog zum Dateiauswählen auf und die wird gleich danach abgespielt
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

schnullerbacke
Beiträge: 1187
Registriert: Mi 13. Dez 2006, 10:58
OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
CPU-Target: AMD A4-6400 APU
Wohnort: Hamburg

Beitrag von schnullerbacke »

@Christian

Ich müsste mich sehr täuschen aber mit der 2.3 hab ich auch ogg-vorbis abspielen können. Muß man sich halt die dll's respektive so-files besorgen. Bei SuSE waren die automatisch dabei.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6857
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Beitrag von af0815 »

EugenE hat geschrieben:Habe die aktuelle version 2,4 von der seite gezogen und installiert , alles ohne probleme ;)

Laz 0.9.20
WinXP MCE
Kannst Du (oder wer anderer) die Version aus dem SVN auch ohne Probleme kompilieren ?

Version ist der SVN Stand von heute EDIT:(Version 67 = lpk 2.4.3.23).

Das Problem liegt hier, so um Line 153 in der unit acs_dsfiles

Code: Alles auswählen

procedure TDSIn.OpenFile;
var
....
....
 ErrorCheck( FxAudioMediaStream.GetFormat(FxFormat) );
    ErrorCheck( CoCreateInstance(CLSID_AMAudioData, nil, CLSCTX_INPROC_SERVER,IID_IAudioData, FxAudioData) );
    ErrorCheck( FxAudioData.SetFormat(FxFormat) );
....
Am Anfang der Unit ist folgendes definiert

Code: Alles auswählen

TDSIn = class(TACSCustomFileIn)
  private
    {$ifdef fpc}
    FxFormat: _WAVEFORMATEX;
    {$else}
    FxFormat: TWaveFormatEx;
    {$endif}
    FxAMMultiMediaStream: IAMMultiMediaStream;
    FxGraphBuilder: IGraphBuilder;
wenn ich jetzt auf "_WAVEFORMATEX" zeige und "suche Deklaration" verwende, dann gibts Probleme in der "directshow9" Unit (Zeile 6630).

Code: Alles auswählen

{$EXTERNALSYM tagVIDEOINFOHEADER}
  VIDEOINFOHEADER = tagVIDEOINFOHEADER;
  {$EXTERNALSYM VIDEOINFOHEADER}
  TVideoInfoHeader = tagVIDEOINFOHEADER;
 
// make sure the pbmi is initialized before using these macros
{function TRUECOLOR(pbmi: PBitmapInfo): Pointer;
function COLORS(pbmi: PBitmapInfo): Pointer;
function BITMASKS(pbmi: PBitmapInfo): Pointer;
{
#define TRUECOLOR(pbmi)  ((TRUECOLORINFO *)(((LPBYTE)&((pbmi)->bmiHeader)) \
                                        + (pbmi)->bmiHeader.biSize))
#define COLORS(pbmi)    ((RGBQUAD *)(((LPBYTE)&((pbmi)->bmiHeader))     \
                                        + (pbmi)->bmiHeader.biSize))
#define BITMASKS(pbmi)  ((DWORD *)(((LPBYTE)&((pbmi)->bmiHeader))       \
                                        + (pbmi)->bmiHeader.biSize))
mit der Fehlermeldung und der Rest der Unit ab da ist als Kommentar eingefärbt.

Code: Alles auswählen

E:\pascal\lazarus\components\acs\Src\fileformats\windows\directshow9.pas(6633,1) Error: Kommentarende nicht gefunden
Danke für Tips.

christian hat geschrieben:... convertieren sollte gehen ...
... meissten filter müssten auch arbeiten...
genau das ist der Punkt - ich wüsste gerne VORHER was für eine Katze im Sack ist.
christian hat geschrieben:Im windows geht mp3,wma abspielen was im linux nicht geht.
Das ist eine klare Aussage und DAMIT kann ich leben (bezüglich Klarheit der Aussage !) - auch wenn es für Linux nicht schön ist.

Vorschlag: Eine klitzekleine Matrix, mit geht/geht nicht/geplant über die Schlüsselkomponenten und Formate.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Wenn du stabilität willst nimm halt die stabile versionen sprich acs 2.2 dort sind ne so viel features drin und es ist auch net so klar strukturiert.
Wenn du was zum meckern suchs machs besser ich hab im moment keine zeit dazu leider würd gern einiges dran machen. Wird sicherlich in den nächsten monaten mal was werden aber nich sofort.

Zu deinem TWaveFormat bla bla fehler welche lazarus version ?!
ich finds auch net schön das die in den aktuellen fpc versionen deklarationen alle 10 min ändern ...
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Benutzeravatar
theo
Beiträge: 10927
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

@af0815 das Problem mit den verschachtelten Kommentaren kannst du einfach lösen.
FPC (bei mir 2.0.4) schluckt folgendes nicht, Kylix aber schon:

Code: Alles auswählen

begin
  {test
  {}  
end;
Also einfach überflüssiges Kommentarzeichen wegmachen.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6857
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Beitrag von af0815 »

@christian
Zu deinem TWaveFormat bla bla fehler welche lazarus version ?!
Steht eindeutig im 2.Post :o
Lazarus 0.9.20 beta
v.5.11.2006
FPC 2.0.4
Windows XP prof multilang
@theo
Die unit ist ca. 32000 Zeilen lang :shock:

Code: Alles auswählen

/
// Helper framing macros.
//
{#define DECLARE_SIMPLE_FRAMING_EX(FramingExName, MemoryType, Flags, Frames, Alignment, MinFrameSize, MaxFrameSize) \
    const KSALLOCATOR_FRAMING_EX FramingExName = \
    {\
        1, \
        0, \
        {\
            1, \
            1, \
            0 \
        }//, \
//        0, \
        {\
            {\
                MemoryType, \
                STATIC_KS_TYPE_DONT_CARE, \
                0, \
                0, \
                Flags, \
                Frames, \
                Alignment, \
                0, \
                {\
                    0, \
                    (ULONG)-1, \
                    1 \
                }//, \
                {\
                    {\
                        MinFrameSize, \
                        MaxFrameSize, \
                        1 \
                    }//, \
 //                   0, \
 //                   0  \
 //               }\
 //           }\
 //       }\
 //   }
}
und enthält unter anderen solche Fragmente. Nein das hat ohne genaue Kenntnis KEINEN Sinn.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6857
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Beitrag von af0815 »

@christian
Die acs24.zip von http://acs.ullihome.de/acs/index.php/Actual_version" onclick="window.open(this.href);return false; funktioniert. Die Version am SVN von https://lazarus-ccr.svn.sourceforge.net ... onents/acs" onclick="window.open(this.href);return false; ist von mir (und wahrscheinlich bei anderen auch) nicht kompilierbar.
TDSIn = class(TACSCustomFileIn)
private
{$ifdef fpc}
FxFormat: _WAVEFORMATEX;
{$else}
FxFormat: TWaveFormatEx;
{$endif}
FxAMMultiMediaStream: IAMMultiMediaStream;
FxGraphBuilder: IGraphBuilder;
Ist laut diff geändert worden UND IST DEFINITV DAS PROBLEM im SVN.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

dafür ist das svn eine entwicklungsversion mit fpc 2.1.1 funktioniert die zip nämlich nicht mehr dafür das svn ;)
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6857
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Beitrag von af0815 »

Die acs24.zip von http://acs.ullihome.de/acs/index.php/Actual_version" onclick="window.open(this.href);return false; funktioniert.
Das mit dem kompilieren geht, nur installieren lässt sich die Version acs24.zip nicht. :cry:

Vorgang A:
1) Im Komponentendialog kompilieren -> ok
2) Im Komponentendialog installieren -> Lazarus tot -> bei Abbruch -> Problembericht an M$ senden

Vorgang B:
0) Neustart Lazarus
1) Im Komponentendialog kompilieren -> ok
2) Im Komponentendialog installieren -> Es kommt ein Dialog: access violation ...... bei Abbrechen ist Lazarus fort, bei okay wird Dateninkonsistenz angedroht

Vorgang C:
1) Über menü-> Komponeneten -> Installierte Packages einrichten ...
2) Rechts LAZ_ACS 2.4.3.23 anwählen -> Auswahl installieren
3) Speichern + IDE neu bauen anwählen -> Unable to load package "LAZ_ACS >=2.4.3.23"
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6857
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Beitrag von af0815 »

Nachdem das mit den acs24.zip nicht richtig befriedigend ist, habe ich mir mal die älteren Versionen geholt. Nur da ist von Lazarus-Kompatiblen Files NICHTS zu sehen.
Wenn du stabilität willst nimm halt die stabile versionen sprich acs 2.2 dort sind ne so viel features drin und es ist auch net so klar strukturiert.
Klar und den Port von Delphi -> Lazarus kann ich auch gleich neu erfinden.

Somit ist zum ersten Mal in der acs24.zip was von Lazarus zu sehen. Zumindest die Versionen acs22 und acs23 sind nur mit Delphi und/oder Kylix direkt verwendbar.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Benutzeravatar
theo
Beiträge: 10927
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

af0815 hat geschrieben: Das mit dem kompilieren geht, nur installieren lässt sich die Version acs24.zip nicht. :cry:
Muss man ja auch nicht unbedingt installieren. Das sind ja keine visuellen Komponenen.

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Trotzdem geht das installiern, würd das schon gern näher ergründen.

1. kann das jemand bestätigen ? das sich das zip package nicht installieren lässt.

2. af0815 kannst du bitte mal versuchen die ide von der kommandoziele aus zu bauen und die ausgaben kopieren (make idepkg)

Unter welchem Betriebsystem hast dus versucht zu installiern unter windows könnte unter umständen ne fehlende directx installation schuld sein ...
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Antworten