Project

General

Profile

Actions

Support Request #15003

closed

ADTF3 ADTFDAT File Player Macros

Added by hidden over 2 years ago. Updated about 2 years ago.

Status:
Closed
Priority:
Normal
Customer:
CARIAD
Department:
G3-6
Requester's Priority:
Normal
Support Level:
3rd Level
Resolution:
Product Issue Opened
Affected Products:
Platform:
Windows 10 64bit
Topic:
ADTF::Player
FAQ Links:

Description

Supportanfrage

Stellt der ADTF3 ADTFDAT File Player den Pfad zu seinem geladenen Dat-File als Macro / Umgebungsvariable bereit?

Ähnlich wie bei ADTF2 $HD_PLAYER_FILE$, $HD_PLAYER_FILE_FOLDER$, $HD_PLAYER_FILE_NAME_NO_EXT$, etc.:
https://support.digitalwerk.net/adtf/v2/adtf_sdk_html_docs/page_adtf_macros.html

Ich konnte dazu in der ADTF3 Doku leider nichts finden.

Lösung

Produktticket erstellt, Details siehe #15003#note-9:
  • [ACORE-11231] - Provide macros regarding playback file

Related issues

Related to Public Support - Support Request #15240: ADTF 3.0 Makros for PlayerClosedActions
Actions #1

Updated by hidden over 2 years ago

  • Project changed from 11 to 30
  • Status changed from New to In Progress
  • Customer changed from AUDI to CARIAD
  • Topic set to ADTF::Player
Actions #2

Updated by hidden over 2 years ago

  • Status changed from In Progress to Customer Feedback Required

Hallo Joachim,

nein das tut er nicht.
Du kannst entweder das Interface fragen (adtf::services::IPlayer) oder per RPC das Remote Interface (adtf::remote::IPlayer).
Ein Bsp. findest du hier:

Wo genau brauchst du die Informationen und welche exakt ?
Dann kann ich prüfen, ob das der beste Weg.

Actions #3

Updated by hidden over 2 years ago

Das hab ich befürchtet.

So müssen nun aber alle Filter eine Abhängigkeit zum Player aufbauen und mit ihm kommunizieren, wenn sie Daten aus einem Pfad relativ zum Ablageort des Dat-Files laden oder schreiben möchten. Mit Umgebungsvariablen braucht der Filter nicht für diesen Anwenungsfall spezialisiert werden und ich kann die Umgebungsvariablen einfach in jede String- oder File-Property der Filter eintragen.

Wäre diese Funktionalität bei euch in Zukunft denkbar?

Wenn ihr die Funktionalität nicht bereitstellt, müssten wir sehr wahrscheinlich selbst einen Filter oder Service erstellen, der als zentrale Instanz mit dem Player kommuniziert und diese doch sehr nützliche und vor allem flexibel einsetzbare Funktionalität wieder über den Macro Resolver und die adtf_register_macro()-Funktion (https://support.digitalwerk.net/adtf/v3/adtf_html/namespaceadtf_1_1services_1_1ant.html#a29bda858edea47777f718c702195078e) bereitstellt.

Actions #4

Updated by hidden over 2 years ago

  • Status changed from Customer Feedback Required to In Progress
  • Support Level changed from 2nd Level to 3rd Level

Hallo Joachim,

So müssen nun aber alle Filter eine Abhängigkeit zum Player aufbauen und mit ihm kommunizieren, wenn sie Daten aus einem Pfad relativ zum Ablageort des Dat-Files laden oder schreiben möchten. Mit Umgebungsvariablen braucht der Filter nicht für diesen Anwenungsfall spezialisiert werden und ich kann die Umgebungsvariablen einfach in jede String- oder File-Property der Filter eintragen.

ja das stimmt, andererseits müssen sie ansonsten eine Abhängigkeit zum Session Manager (Macros bereitstellen, auflösen) oder einen eigenen Service (Macros bereitstellen) haben.
Aus Architektursicht ist der Player die beste Option, weil du dann sicher weißt, dass das er vorhanden ist (ansonsten musst das Macro auf Validität prüfen).
Aus User Sicht ist das Macro die beste Wahl, ich sehe auch keine Probleme das zur Laufzeit bereitzustellen, Problem wird die Konfigurationszeit, da ja im Gegensatz zu ADTF 2.x keine Filter im Configuratuon Editor ausgeführt werden, demnach weiß ein Session Manager / Macro Resolver auch nichts von einem Player.

Wäre diese Funktionalität bei euch in Zukunft denkbar?

Ich muss nochmal in mich gehen, und die Bedenken zur Konfigurationszeit durchgehen, aber eine Lösung im Core macht auf jeden Fall Sinn, so dass

Wenn ihr die Funktionalität nicht bereitstellt, müssten wir sehr wahrscheinlich selbst einen Filter oder Service erstellen, der als zentrale Instanz mit dem Player kommuniziert und diese doch sehr nützliche und vor allem flexibel einsetzbare Funktionalität wieder über den Macro Resolver und die adtf_register_macro()-Funktion (https://support.digitalwerk.net/adtf/v3/adtf_html/namespaceadtf_1_1services_1_1ant.html#a29bda858edea47777f718c702195078e) bereitstellt.

für euch obsolet wird.

Actions #5

Updated by hidden over 2 years ago

Könntet ihr uns dann Bescheid geben, ob ihr es in Betracht zieht, die Funktionalität im Player zu verankern?
Ansonsten Danke für die Antworten.

Viele Grüße
Joachim

Actions #6

Updated by hidden over 2 years ago

Hallo Joachim,

du bekommst heute oder morgen noch eine Rückmeldung.
Wir werden in jeden Fall etwas anbieten.

Problem ist wie gesagt nicht das Macro an sich bereitzustellen (Ist zur Laufzeit bekannt, du kannst es eintragen, ADTF löst es auf).
Das Problem sehe ich zur Konfigurationszeit, da der Configuration Editor dieses Runtime Macro (dort lebt der Player) nicht kennt und es nicht verwendet, wenn du mittels (M) Button auflösen willst.

Kannst du mir folgen ?

Actions #7

Updated by hidden over 2 years ago

  • Status changed from In Progress to Customer Feedback Required

Hallo Joachim,

ich habe leider noch kein Konzept und muss das auf nach meinen Urlaub verschieben.
Bis dahin aber die Gewissheit, dass du hier eine Lösung von ADTF Seite bekommst.
Vielleicht kannst du ja in der Zwischenzeit mal ein "Wünsch dir was" spielen und Vorschläge für Makros bringen, die du brauchst.
Playback files sind schon mal notiert.

Actions #8

Updated by hidden over 2 years ago

Makro Beschreibung
$(GLOBALSDIR) The current loaded global directory.
$(HD_PLAYER_FILE) The current playback file of the ADTF Harddisk Player (full path). If multiple files are played back, only the first one is provided through this macro.
$(HD_PLAYER_FILE_EXT) The extension of the current playback file.
$(HD_PLAYER_FILE_FOLDER) The folder that contains the current playback file.
$(HD_PLAYER_FILE_NAME) The name of the current playback file without the folder name.
$(HD_PLAYER_FILE_NAME_NO_EXT) The name of the current playback file without the folder name and without the extension.
$(HD_PLAYER_FILE_SHORT_DESC) The short description of the current playback file of the ADTF Harddisk Player. Within a playlist, it refers to the short description of the first playback file.
$(HD_PLAYER_FILE_LONG_DESC) The long (detailed) description of the current playback file of the ADTF Harddisk Player. Within a playlist, it refers to the long description of the first playback file.
$(CFGDIR) The current loaded configuration directory
$(DATE) Date of the current day in the format YYYMMDD
$(TIME) Date of the current day in the foramt HHMMSS
Actions #9

Updated by hidden over 2 years ago

Hallo Joachim,

zu deiner Tabelle:
  • $(CFGDIR): Ist ja in ADTF 3.x eine Session, dazu gibt es bereits ein $(ADTF_SESSION_DIR) sowie weitere damit verbundene Meta Dateien, siehe Macros... das sollte denk ich passen
  • $(DATE) / $(TIME) geht bereits, ebenso $(APPDIR), $(BUILD_TYPE), $(COMPILER_PROFILE), $(CURDIR), $(SYSDIR), $(TEMPDIR) und $(WINDIR)
    • Das kommt aber vom Betriebssystem, deshalb gehen wir hier eher auf ADTF spezifische Macros ein
    • Du kannst hier alles zur Laufzeit verwenden, was das System kennt (Umgebungsvariablen), der CE nimmt aber zum Auflösen nur das her, was wir bereitstellen (siehe Liste), sowie über adtfsystem / adtfenvironment bekannt gemacht wird
  • $(GLOBALSDIR): gibt in ADTF 3.x nicht mehr, das Pendant im weitesten Sinne was du in einem Filter verwenden können möchtest, wäre vielleicht $(ADTF_SYSTEM_DIR)
  • Bzgl. Player solltet ihr denke ich mit folgenden hinkommen oder ? (auch in Anlehnung an bisherige ADTF 3 Macros):
    • $(ADTF_PLAYBACK_DIR)
    • $(ADTF_PLAYBACK_FILE_NAME)
    • $(ADTF_PLAYBACK_FILE_NAME_NOEXT)
    • An der Stelle sei nochmal betont, dass der CE davon nichts weiß und der Macro Button hier nichts zum Auflösen verwenden kann. Das sind reine Runtime Macros die man kennen muss
  • Braucht ihr die File Extension a.k.a. $(ADTF_PLAYBACK_FILE_EXT) ? Ich glaube das ist nicht relevant...
  • Das Thema mit Description ist in ADTF 3.x nicht wirklich im Einsatz, ich denke das kann man sich auch sparen ?

Meinungen dazu ?
Martin auch Anmerkungen ?

Actions #10

Updated by hidden over 2 years ago

Als temporären Workaround würde ich empfehlen ein (oder mehrere) Umgebungsvariablen im System Editor zu definieren und manuell auf das Playback-File bzw. Directory zusetzen. Dann kann man die im Rest der Session so verwenden als kämen sie vom Player.

@Flo, das im Service zu reintegrieren ist kein Problem. Zur Konfigurationszeit muss man dann halt wissen was man tut, fände ich jetzt aber nicht so schlimm, das ist ja bei allen Macros die (User-) Services zur Verfügung stellen so.

Actions #12

Updated by hidden over 2 years ago

Actions #13

Updated by hidden over 2 years ago

  • Project changed from 30 to Public Support
  • Description updated (diff)
  • Status changed from Customer Feedback Required to To Be Closed
  • Private changed from Yes to No
  • Resolution set to Product Issue Opened
  • Product Issue Numbers set to https://www.cip.audi.de/jira/browse/ACORE-11231
Actions #14

Updated by hidden about 2 years ago

  • Status changed from To Be Closed to Closed
Actions

Also available in: Atom PDF