WinFuture-Forum.de: Projekt: Winfuture Mediadesk - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
  • 12 Seiten +
  • « Erste
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • Letzte »

Projekt: Winfuture Mediadesk Freeware MediaCenter Software

#106 Mitglied ist offline   normanbauer 

  • Gruppe: aktive Mitglieder
  • Beiträge: 139
  • Beigetreten: 09. Juni 05
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 28. Juni 2005 - 13:25

Bezüglich Audioplayer: Wie soll das eurer Meinung nach werden. Soll der Player mit integriertem Dateibrowser sein, oder soll man die Dateien vorher laden und dann nur abspielen können, oder soll das ganze nur Winamp steuern?
0

Anzeige



#107 _gani7777_

  • Gruppe: Gäste

geschrieben 28. Juni 2005 - 13:33

Ich finde einen integrierten Player interessanter als ein Player wie Winamp ;)
0

#108 Mitglied ist offline   tosto 

  • Gruppe: aktive Mitglieder
  • Beiträge: 432
  • Beigetreten: 08. Januar 04
  • Reputation: 0

geschrieben 28. Juni 2005 - 18:25

um dir arbiet zu sparen: nehm vll was schon vorhanden ist.
mach dafür in deiner software ne oberfläche, steuere damit dne player und versteck den vor dem anwender.
wenn du dir nun noch ein open source projekt aussuchst, dann kannste das direkt in deine software einbauen.
oder: du machst sowas für viele verschiedene player (bzw. die verbreitesten) und bittest in den einstellungen an den player zu wählen der eh schon auf dem rechner installiert ist.
die steuerung schon vorhandener player schränkt dich als programmierer natürlich ein, ich würd deshalb nach einem open source projekt umschau halten. dann kannst dir das selbst anpassen nach deinen wünschen ohne größere gefahr zu laufen, die rechte jemand anderes (im besonderen von firmen) zu verletzen und bist trotzdem wieder ungebunden und flexibel.

also einen dateibrowser bzw. playlist editor sollte so ein player ja schon haben. finde ich.

ciao
0

#109 Mitglied ist offline   tavoc 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.437
  • Beigetreten: 22. Juli 04
  • Reputation: 1
  • Geschlecht:Männlich

geschrieben 28. Juni 2005 - 18:44

dann müsste aber auch der gesamte quelltext offengelegt werden ...
your IP is 127.0.0.1 or ::1
you are running an OS
you use a Browser
I know so much about you...
0

#110 Mitglied ist offline   normanbauer 

  • Gruppe: aktive Mitglieder
  • Beiträge: 139
  • Beigetreten: 09. Juni 05
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 28. Juni 2005 - 19:17

Wer die bass.dll verwenden. Die ist für Freeware frei verwendbar. Kann mp3, wma, ogg und noch nen paar abspielen.
0

#111 Mitglied ist offline   tosto 

  • Gruppe: aktive Mitglieder
  • Beiträge: 432
  • Beigetreten: 08. Januar 04
  • Reputation: 0

geschrieben 28. Juni 2005 - 20:28

Zitat (tavoc: 28.06.2005, 19:44)

dann müsste aber auch der gesamte quelltext offengelegt werden ...
<{POST_SNAPBACK}>

das müsste dann normanbuaer selbst entscheiden ob er das will.
wenn cih mich in sachen lizensierung für open source aber richtig auskenne müsste es auch anders gehen. der player wird als eigenes programm geschrieben das offenliegt und angepasst ist für die closed source drum herum.
wenn dann das center nur wieder dne player aufruft und steuert, dann müsste man das center selbst glaube ich nicht offenlegen, normanbauer könnte sich die schnittstellen aber selbst bauen.

ich hoffe das stimmt so ansatzweise...

ciao
0

#112 Mitglied ist offline   HollaDieWaldfee2005 

  • Gruppe: aktive Mitglieder
  • Beiträge: 39
  • Beigetreten: 01. Mai 05
  • Reputation: 0

geschrieben 28. Juni 2005 - 20:58

Der DVB-Part wird mit DVBCore realisiert, ich komme schon ziemlich gut voran. Deswegen würde ich mich freuen, Norman, wenn du mir mal bitte ein teil es sources schicken könntest, außer du willst nicht....
0

#113 Mitglied ist offline   normanbauer 

  • Gruppe: aktive Mitglieder
  • Beiträge: 139
  • Beigetreten: 09. Juni 05
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 28. Juni 2005 - 22:09

Ich weiß nur nicht, was ich dir schicken soll! Weil das kram, was jetzt verbaut ist, ist die Oberfläche und die Steuerung für analoge Karten. Ich brauche im Grunde nur eine Unit zum Anzeigen, Ansteuern und Einstellen ner digitalen Karte. Da brauchst ja sozusagen keine sourcen, sondern ich bräuchte die ;)
0

#114 Mitglied ist offline   HollaDieWaldfee2005 

  • Gruppe: aktive Mitglieder
  • Beiträge: 39
  • Beigetreten: 01. Mai 05
  • Reputation: 0

geschrieben 28. Juni 2005 - 23:11

Das Problem ist, das die Komponente DVBCore komplett undokumentiert ist und ich mehr oder weniger einfach dinge errate und das z.Z. mit erfolg. Eine Unit dafür zu machen, ist würde ich behaupten ziemlich uneffektiv, da ich z.Z. nur eine Unit und eine dll für den DVB-Spaß habe, wo aber auch alles drinne steht, blos ohne irgendwelchen brauchbaren informationen. Die Type's der Unit selbst sind riesig (auszug siehe unten) als das man das noch irgendwie vereinfach könnte. Ich bin parallel schon dabei, einfach die wie einen Senderwechsel und der gleichen per Unit zu vereinfachen, aber eine schnelle und unkomplizierte lösung wird das leider nicht.

DVBCore ist auch das einzige was überhaupt DVB-S/DVB-T/DVB-C für sogut wie alle Karten einheitlich zur Verfügung stellt, aber man merkt den beigeschmack der C++ Programmierung. Es ist auch das einzige, was überhaupt bei Delphi zur Verfügung steht.

Du könntest mir ja schicken, was du bereits alles hast. Ich arbeite es ein, lasse einen Patch generieren oder schicke dir, das packet wieder zurück.

const

(* Valid options for DVBParams. May be mixed*)
SET_DISEQ           = $0000001; //SetUp DiSEq data
SET_TUNER           = $0000002; //SetUp Tuner data
SET_PIDS            = $0000004; //SetUp PIDs Audio, Video, PCR

// Be sure you supplied all PIDs before start capture.
// if all 3 PIDs (Audio, Video, PCR) not equal zero then capture starts in Audio/Video mode.
// if Video or PCR PID equals to zero then capture starts in Audio-only mode.
// if Audio PID equals to zero then capture doesn't starts.

SET_STARTCAPTURE	= $0000018;	//Start Capture AV
SET_STOPCAPTURE  = $0000008;	//Stop	Capture AV
SET_COPYALLDATA     = $0010000; //Copy whole TP_INFO structure to internal DVBCore Cache

GET_PATINFO         = $0000100; //Get Program Association Table (PMT PIDs, Channel IDs)
GET_CATINFO         = $0000200; //Get Condotion Access Table (All EMM PIDs)
GET_PMTINFO 	 = $0000400;	//Get Program Map Table for specified channel (Audio, Video, PCR, ECM PIDs)
GET_SDTINFO 	 = $0000800;
GET_ALLPMTINFO  = $0001000;	//Same as before but for all channels from current transponder
GET_ALLTABLESINFO   = GET_PATINFO or GET_CATINFO or GET_ALLPMTINFO or GET_SDTINFO;
GET_TUNERDISEQINFO  = $0002000; //Get current parameters from Tuner and DiSEq (allways from cache)
GET_ALLINFO         = GET_PATINFO or GET_CATINFO or GET_ALLPMTINFO or GET_SDTINFO or GET_TUNERDISEQINFO;
GET_TRYFROMCACHE    = $0100000; //Try Get info from DVBCore cache if data exists, otherwise get it from stream
GET_ONLYFROMCACHE   = $0200000; //Allways get info from cache (even it's invalid. Check appropriate flags to make sure data is valid)
SET_FASTMODE  = $1000000; //Fast getting info. Call DVBParams(NULL,SET_FASTMODE) after last use this mode!

(**)
(* Tip: You may mix some flags. for example: (SET_DISEQ | SET_TUNER | GET_ALLINFO| SET_PIDS) *)
(* It will setup DiSEq and Tuner then gat all info about this transponder, then setup PIDS of first channel.*)
(**)
LNB_VOLT00      = 0; (* zero volt (power off)*)
LNB_POWEROFF    = 0; (* zero volt (power off)*)
LNB_VOLT13      = 13; (* 13 volt (vertical polarisation)*)
LNB_POL_VERT    = 13; (* 13 volt (vertical polarisation)*)
LNB_VOLT18      = 18; (* 18 volt (horizontal polarisation)*)
LNB_POL_HORZ    = 18; (* 18 volt (horizontal polarisation)*)

VITERBI_AUTO     = 0; (* DVB-S: automtic detection of viterbi rate*)
VITERBI_RATE_1_2 = 1; (* DVB-S: viterbi rate: 1/2*)
VITERBI_RATE_2_3 = 2; (* DVB-S: viterbi rate: 2/3*)
VITERBI_RATE_3_4 = 3; (* DVB-S: viterbi rate: 3/4*)
VITERBI_RATE_4_5 = 4; (* DVB-S: viterbi rate: 4/5*)
VITERBI_RATE_5_6 = 5; (* DVB-S: viterbi rate: 5/6*)
VITERBI_RATE_6_7 = 6; (* DVB-S: viterbi rate: 6/7*)
VITERBI_RATE_7_8 = 7; (* DVB-S: viterbi rate: 7/8*)
VITERBI_RATE_8_9 = 8; (* DVB-S: viterbi rate: 8/9*)

DVB_C_QAM_16  =0;	// DVB-C: Modulation:  16-QAM
DVB_C_QAM_32  =1;	// DVB-C: Modulation:  32-QAM
DVB_C_QAM_64  =2;	// DVB-C: Modulation:  64-QAM (default)
DVB_C_QAM_128  =3;	// DVB-C: Modulation: 128-QAM
DVB_C_QAM_256  =4;	// DVB-C: Modulation: 256-QAM

DVB_CT_BW_6MHz  =0;   // DVB-C/T BandWidth 6MHz
DVB_CT_BW_7MHz  =1;   // DVB-C/T BandWidth 7MHz
DVB_CT_BW_8MHz  =2;   // DVB-C/T BandWidth 8MHz
DVB_CT_BW_AUTO  =3;   // DVB-C/T Automatic BandWidth Detection
DVB_CT_BW_NONE  =4;   // reserved

DISEQC_NONE     = $00;
DISEQC_SIMPLE    = $10;
DISEQC_V1_0     = $20;

// DiSEqC v1.0 Constants
DISEQC_HIGH_NIBLE  = $F0;
DISEQC_LOW_BAND    = $00;
DISEQC_HIGH_BAND   = $01;
DISEQC_VERTICAL    = $00;
DISEQC_HORIZONTAL  = $02;
DISEQC_POSITION_A  = $00;
DISEQC_POSITION_B  = $04;
DISEQC_OPTION_A    = $00;
DISEQC_OPTION_B    = $08;

//For simple DiSEqC management mode
DISEQC_V1_0_LNB1   = DISEQC_V1_0 or DISEQC_POSITION_A or DISEQC_OPTION_A;
DISEQC_V1_0_LNB2   = DISEQC_V1_0 or DISEQC_POSITION_B or DISEQC_OPTION_A;
DISEQC_V1_0_LNB3   = DISEQC_V1_0 or DISEQC_POSITION_A or DISEQC_OPTION_B;
DISEQC_V1_0_LNB4   = DISEQC_V1_0 or DISEQC_POSITION_B or DISEQC_OPTION_B;

//Simple Tone switches currently not supported
DISEQC_SIMPLE_LNB1 = DISEQC_SIMPLE or DISEQC_POSITION_A;
DISEQC_SIMPLE_LNB2 = DISEQC_SIMPLE or DISEQC_POSITION_B;


SPECTRAL_INVERSION_AUTO = 2; (* automatic detection of spectral inversion*)
SPECTRAL_INVERSION_ON   = 0; (* spectral inversion*)
SPECTRAL_INVERSION_OFF  = 1; (* no spectral inversion*)

(* const for wDataValid*)
PAT_VALID  =1;	//info about PAT is valid
CAT_VALID  =2;	//info about Condition Access in current structure is valid
PMT_VALID  =4;
SDT_VALID  =8;

(*const for wCount, wChCount*)
CURRENT_NONE        = $FFFF;

TPI_CA_COUNT	=64;
TPI_AUD_COUNT	=16;
TXT_MGZ_COUNT	=4;
TPI_CH_COUNT	=128;
TPI_NAME_LEN	=64;

//For AUD_PID->dwFlags
DVB_AUDIO_ISO11172  =$00;
DVB_AUDIO_ISO13818  =$01;
DVB_AUDIO_AC3  =$02;
DVB_AUDIO_TYPEMASK	=$0F;

type

CA_INFO = packed record
    wCount:     WORD; (*Quantity of PIDs*)
    wCurrent:   WORD; //Current PID. For current EMM dont use this field. use Channel.wEMMCurrent instead!
    wCA_Type:   packed array [0..TPI_CA_COUNT-1] of WORD; (*Type of CA system (i.e. Viaccess = 0x0500)*)
    wPID:       packed array [0..TPI_CA_COUNT-1] of WORD; (*PID for CA*)
end;

AUD_PID = packed record
    wCount:     WORD; (*Quantity of PIDs*)
    wCurrent:   WORD; (*Current PID*)
    wPID:       packed array [0..TPI_AUD_COUNT-1] of WORD; (*PID :)*)
    dwFlags:    packed array [0..TPI_AUD_COUNT-1] of DWORD; //see DVB_AUDIO_*
end;

TXT_MGZ = packed record
    wCount:     WORD; //Quantity of Magazines
    wCurrent:   WORD; //Current Magazine
    wOpt:       packed array [0..TXT_MGZ_COUNT-1] of WORD;  //Option bits: 0-7 page number, 8-10 - magazine number, 11-15 - Teletext Type
    dwLang:     packed array [0..TXT_MGZ_COUNT-1] of DWORD; //Language ID for Magazine
end;

CH_INFO = packed record
    wDataValid: WORD;       //Flag for validating data in all fields except wSID and wPMT (validate these fields by TP_INFO.wDataValid)
	dwUserFlags:DWORD;  //User defined flags or variable;
    wSID:       WORD;       //Channel ID
    wPMT:       WORD;       //PID for Program Map Table
	wTeletext:  WORD; 	 //Teletext PID. 0 if none
    wType:      WORD;
    wScrambled: WORD;
    Ch_Name:    packed array [0..TPI_NAME_LEN-1] of char; (*Channel Name*)
    Prov_Name:  packed array [0..TPI_NAME_LEN-1] of char; (*Provider Name*)
    wPCR:       WORD;       //PID for Program Clock Reference
    wVideo:     WORD;       //Video PID
    Audio:      AUD_PID;    //Array of Audio PIDs
    TxtMgz:     TXT_MGZ;    //Array of Teletext Magazines
	wEMMCurrent:WORD;      //Current EMM pid for current channel
    ECM:        CA_INFO;    //Array or ECM PIDs
end;

TP_INFO = packed record
    HdrVer:         DWORD;  //Structure version. Please check this for sure data is in expected form*)
    wDataValid:     WORD;   //Flag for validating data in wChCount, wChCurrent, all EMMs, all wPMT and all wSID*)
	dwUserFlags:    DWORD;  //User defined flags or variable
    DiSEqData:      packed array [0..31] of BYTE; //Data for DiSEq
    bDiSEqLen:      BYTE;   //Length of DiSEq Data
    bDiSEqToneburst:BYTE;
    dwSymbRate:     DWORD;  //Symbol Rate of Transponder (DVB-S and DVB-C only)
    dwFreq:         DWORD;  //Frequency
    dwLNB_Power:    DWORD;  //Power for LNB (DVB-S only)
    dwInversion:    DWORD;  //Spectral Inversion
    dwLOF:          DWORD;  //LOF for DVB-S, QAM for DVB-C
    bF22KHz:        BOOL;   //ON/OFF 22KHz (DVB-S only)
    dwViterbi:      DWORD;  //Viterbi Rate (DVB-S only)
    wChCount:       WORD;   //Quantity of Channels of current transponder
    wChCurrent:     WORD;   //Current Channel
    Channel:        packed array [0..TPI_CH_COUNT-1] of CH_INFO; //Channel Map
    EMM:            CA_INFO;//Array of EMM PIDs
    wSatID:         WORD;   //it's a position of Satellite in degrees. i.e.: 0360, 0192, 0050..
     	 //mustbe filled by application before set-up tuner if it supports DiSEqC plugins.
	wNetID:         WORD;	//Network ID
	wTSID:          WORD;	//Transport Stream ID
end;

pTP_INFO = ^TP_INFO;

(*Main management function to SET/GET parameters about transponder and channels*)
function DVBParams(TP_Info: pTP_INFO;  Options: DWORD): DWORD; stdcall; external 'DVBCore.dll';

0

#115 _gani7777_

  • Gruppe: Gäste

geschrieben 29. Juni 2005 - 14:31

@normanbauer :

Wirst du den Code veröffentlichen ? :(
0

#116 Mitglied ist offline   normanbauer 

  • Gruppe: aktive Mitglieder
  • Beiträge: 139
  • Beigetreten: 09. Juni 05
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 29. Juni 2005 - 14:35

Zitat (gani7777: 29.06.2005, 15:31)

@normanbauer :

Wirst du den Code veröffentlichen ? :(
<{POST_SNAPBACK}>


nein!
0

#117 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.701
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 29. Juni 2005 - 14:38

Es gibt ja Delphi-Decompiler :(

Spaß beiseite...
Warum denn? Du könntest das doch ohne Probleme unter die GPL stellen...
0

#118 _Benjamin_

  • Gruppe: Gäste

geschrieben 29. Juni 2005 - 14:44

die frage die sich für mich stellt sin eventuelle lizenzprobleme mit den schnitstellen und den weg ins TV ala GEZ usw ?

würd mich ma interessieren
0

#119 Mitglied ist offline   normanbauer 

  • Gruppe: aktive Mitglieder
  • Beiträge: 139
  • Beigetreten: 09. Juni 05
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 29. Juni 2005 - 14:44

Könnte ich theoretischer Weise tun - tu ich aber nicht :( . Das ganze wird Freeware - nicht open source.
Ist eigentlich aber auch gar nicht das Thema hier.
0

#120 Mitglied ist offline   normanbauer 

  • Gruppe: aktive Mitglieder
  • Beiträge: 139
  • Beigetreten: 09. Juni 05
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 29. Juni 2005 - 14:47

Zitat

die frage die sich für mich stellt sin eventuelle lizenzprobleme mit den schnitstellen und den weg ins TV ala GEZ usw ?

Da sollte es keine Probleme geben. Alles was ich tue, ist DirectShow benutzen :(
0

Thema verteilen:


  • 12 Seiten +
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0