Zum Inhalt springen

Loki876

Mitglieder
  • Gesamte Inhalte

    65
  • Benutzer seit

  • Letzter Besuch

  1. Hi... Ich moechte/muss in einem Dialog der Klasse CDialog auf Daten die in der Klasse ApplicationDoc gespeichert sind. Habe es mit untem dem code probiert aber da kommt beim compilieren die Fehlermeldung, dass er die Befehle(z.B. GetDocumet) nicht kennt. CApplicationDoc* pDoc = static_cast<CApplicationDoc*>(GetDocument()); Also meine Frage: Wie kann ich auf Variablen von ApplicationDoc in der Klasse CDialog zugreifen? Gruss!
  2. Hi. Ich moechte in meinem Programm von meiner ApplicationDoc-Klasse aus ein Listenfeld in einem anderen DialogFenster(CBatchList mit Basisklasse CFormView) loeschen um es danach wieder von ApplicationDoc aus zu fuellen. Der Liste selbst habe ich als Control Membervariable m_ctrlBatchList zu gewiesen. Dazu habe ich: POSITION pos=GetFirstViewPosition(); CBatchList* pBatchList = reinterpret_cast<CBatchList*>(GetNextView(pos)); pBatcgList->m_ctrlBatchList.DeleteAllItems(); Code: POSITION pos=GetFirstViewPosition(); CBatchList* pBatchList = reinterpret_cast<CBatchList*>(GetNextView(pos)); pBatchList->m_ctrlBatchList.DeleteAllItems(); Aber es tut sich nichts, sprich die liste wird nicht geleert. Beim Debuggen sehe ich, dass der Wert 0 zurueck gegeben wird, d.h. die operarion war nicht erfolgreich. muss ich vielleicht den pointer anders zu weisen? danke fuer jede hilfe. gruss thomas
  3. was du nicht sagst. also ganz doof/unwissend bin ich jetzt auch wieder nicht.
  4. sorry, ich bin kein programmierer fuer mich ist das alles andere als banal. das ganze ist teil meiner dipl.arbeit. die timeline muss nicht viel koennen. ich muss ihr EditUnits(kleinse Schnitteinheit, z.B. ein Frame) zuweisen koennen. die zeitlachse sollte im Timeoce format skaliert sein. ich muss ihr clips(mit einer bestimmten dauer) zuweisen koennen. am besten waere es wenn ich die clips noch jeweils anklicken koennte um mir metadaten(Dauer, codec, framerate, etc.) der clips anzeigen lassen zu koennen.
  5. das habe ich auch feststellen muessen. deswegen suche ich nach alternativen loesungen.
  6. Also so wie ich es mir vorstelle funktioniert es doch mit DirectShow leider nicht, daher bin ich immer noch auf der suche nach einer loesung. bei codeproject und codeguru bin ich leider nur auf viele leute getroffen, die das selbe problem haben aber keine loesungen. ich versuche eine art EDL(eine Schnittliste, d.h. eine beschreibung wie ein film geschnitten wurde) in einer timeline(mit audio und videotracks) zu visualisieren. Ich habe die information vereinfacht gesagt in der form: Videoclip1 von sekunde 0 bis 10 Videoclilp2 von sekunde 10 bis 15 usw. ... Hat jemand ne idee wie ich sowas mit VC++ realisieren kann?
  7. hat sich erledigt. meine Lib war wohl veraltet. hab jetzt ne aktuellere und es funktioniert.
  8. soweit ich weiss ist dass die STRMIIDS.lib
  9. ich probiere es jetzt mit directShow hinzubekommen (http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/directx9_c/directx/htm/constructingatimeline.asp) und habe den quellcode nun in meine Klasse Timeline eingefuegt. bekomme aber beim compilieren 8 unaufgeloeste externe symbole angezeigt. z.B. Timeline.obj : error LNK2001: Nichtaufgeloestes externes Symbol _IID_IAMTimelineTrack #include "dshow.h" #include "qedit.h" ... // Preview a timeline. void PreviewTL(IAMTimeline *pTL, IRenderEngine *pRender) { IGraphBuilder *pGraph = NULL; IMediaControl *pControl = NULL; IMediaEvent *pEvent = NULL; // Build the graph. pRender->SetTimelineObject(pTL); pRender->ConnectFrontEnd( ); pRender->RenderOutputPins( ); // Run the graph. pRender->GetFilterGraph(&pGraph); pGraph->QueryInterface(IID_IMediaControl, (void **)&pControl); pGraph->QueryInterface(IID_IMediaEvent, (void **)&pEvent); pControl->Run(); long evCode; pEvent->WaitForCompletion(INFINITE, &evCode); pControl->Stop(); // Clean up. pEvent->Release(); pControl->Release(); pGraph->Release(); } void CTimeline::OnInitialUpdate() { CFormView::OnInitialUpdate(): // Start by making an empty timeline. IAMTimeline *pTL = NULL; CoInitialize(NULL); CoCreateInstance(CLSID_AMTimeline, NULL, CLSCTX_INPROC_SERVER, IID_IAMTimeline, (void**)&pTL); // GROUP: Add a video group to the timeline. IAMTimelineGroup *pGroup = NULL; IAMTimelineObj *pGroupObj = NULL; pTL->CreateEmptyNode(&pGroupObj, TIMELINE_MAJOR_TYPE_GROUP); pGroupObj->QueryInterface(IID_IAMTimelineGroup, (void **)&pGroup); // Set the group media type. This example sets the type to "video" and // lets DES pick the default settings. For a more detailed example, // see "Setting the Group Media Type." AM_MEDIA_TYPE mtGroup; ZeroMemory(&mtGroup, sizeof(AM_MEDIA_TYPE)); mtGroup.majortype = MEDIATYPE_Video; pGroup->SetMediaType(&mtGroup); pTL->AddGroup(pGroupObj); pGroupObj->Release(); // TRACK: Add a track to the group. IAMTimelineObj *pTrackObj; IAMTimelineTrack *pTrack; IAMTimelineComp *pComp = NULL; pTL->CreateEmptyNode(&pTrackObj, TIMELINE_MAJOR_TYPE_TRACK); pGroup->QueryInterface(IID_IAMTimelineComp, (void **)&pComp); pComp->VTrackInsBefore(pTrackObj, 0); pTrackObj->QueryInterface(IID_IAMTimelineTrack, (void **)&pTrack); pTrackObj->Release(); pComp->Release(); pGroup->Release(); // SOURCE: Add a source to the track. IAMTimelineSrc *pSource = NULL; IAMTimelineObj *pSourceObj; pTL->CreateEmptyNode(&pSourceObj, TIMELINE_MAJOR_TYPE_SOURCE); pSourceObj->QueryInterface(IID_IAMTimelineSrc, (void **)&pSource); // Set the times and the file name. pSourceObj->SetStartStop(0, 50000000); BSTR bstrFile = SysAllocString(OLESTR("C:\\example.avi")); pSource->SetMediaName(bstrFile); SysFreeString(bstrFile); pSource->SetMediaTimes(40000000, 140000000); pTrack->SrcAdd(pSourceObj); pSourceObj->Release(); pSource->Release(); pTrack->Release(); // Preview the timeline. IRenderEngine *pRenderEngine = NULL; CoCreateInstance(CLSID_RenderEngine, NULL, CLSCTX_INPROC_SERVER, IID_IRenderEngine, (void**) &pRenderEngine); PreviewTL(pTL, pRenderEngine); // Clean up. pRenderEngine->ScrapIt(); pRenderEngine->Release(); pTL->Release(); CoUninitialize(); }
  10. Hi, ich muesste einem dialogfenster(CFormView) ein Timeline, wie von Videoeditingsystemen, hinzufuegen. Hat jemand von euch vielleicht erfahrung damit oder kennt jemand ne webseite die sich damit beschaeftigt? gruss thomas
  11. hab den fehler gefunden. danke nochmal an alle. brauch schon ein paar mehr informationen. und diese sind objektorientiert gespeichert werden und recht verschaltet, habe ich mich deswegen bis jetzt zur den verwendung von arrays entschieden. Dazu kommt, dass nicht jede AAF datei gleich aufgebaut ist und die gleiche anzahl an Objecten(Mobs genannt) vorhanden sind.
  12. versuche es mal so knapp und som einfach wie moeglich su erklaeren. ich schreibe einen analyzer fuer AAF(advanced authoring format), in der SDK gibt es einen WIN32 basierendes modul, dass die information eines AAF files als textdump ausgibt. dieser dump gilt es nun zu analysieren. diese dump habe ich nun in einen textarray geschrieben der nach schluesselworten durchsucht wird und bestimmt attribute(bei AAF properties genannt) schreibe ich heraus, z.B. suche ich nach Videodescriptoren und schreibe FrameRate,Resolution, Codec, etc... in ein passendes Textarray. Auf diese Textarrays, und die properties die dort drin stehen, muss ich spaeter zu greifen, um z.B. spaeter die Information in einer timeline darzustellen(mit allen Video und Audioclips, Effekten, und Transitions). Aber da in diesen AAF file sehr viel information und sehr komplexes beschreiben wird brauche ich viele dieser Textarrays. Die Fehlermeldung ist: Die Anweisung "0x5f477076" verweist auf Speicher in "0x33bc454c". Der Vorgang "read" konnte nicht auf dem Speicher durchgefuehrt werden.
  13. Hi, ich schreibe ein Programm dass einen Textdump nach bestimmten schluesselwoertern durchsucht und information die in diesem dump stehen herausliest um diese dann spaeter zu interpretieren. Dazu schreibe ich die informationen in Textarrays um spaeter wieder auf die informationen zugreifenzukoennen. Nun mein problem ist, dass ich sehr viele (und recht grosse) Textarrays dafuer brauche. Und anscheinend zu viel fuer c++. Jedenfalls bekomme ich beim ausfuehren meines programs seitdem ich ein weiteres array hinzugefuegt habe eine fehlermeldung. Gibt es eine moeglichkeit wie ich in C++ mehr speicher fuer meine variablen zuweisen kann oder waere es ratsamer das alles mit einer Datenbank zu realisieren? gruss Thomas
  14. Hat funktioniert. vielen dank fuer die hilfe. gruss Thomas
  15. ich moechte von aus meiner Doc funktion heraus diese einrtaege einfuegen. mein program analysiert einen textdump und soll dann wenn es bestimmt eintraege gefunden hat diese in die Baumansicht einfuegen.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...