Die Suche ergab 39 Treffer

von lightos
Freitag 11. Dezember 2015, 14:31
Forum: Python mit anderen Sprachen verwenden
Thema: unicode - utf-8
Antworten: 8
Zugriffe: 6342

Re: unicode - utf-8

Ergänzende Frage dazu: Unter Windows ist die API entweder ctypes.c_wchar * N oder unter Linux ctypes.c_char * N. Das Ziel ist nun möglichst simple einen Python-String zu konvertieren. Der Buffer der von der API zurück kommt ist Null-Terminiert. Aktuell ist das mit einem "if" gelöst, da ich...
von lightos
Freitag 11. Dezember 2015, 14:28
Forum: Python mit anderen Sprachen verwenden
Thema: unicode - utf-8
Antworten: 8
Zugriffe: 6342

Re: unicode - utf-8

Ja danke. Aber die Strings sind 0-Zeichen terminiert. Es gibt hier keine Annahme über 1 Zeichen pro Byte.
von lightos
Donnerstag 3. September 2015, 15:53
Forum: Wissenschaftliches Rechnen
Thema: array.array -> numpy, pyaudio oder andere
Antworten: 2
Zugriffe: 2154

Re: array.array -> numpy, pyaudio oder andere

Habe leider noch kein Feedback hierzu, aber inzwischen mehr Details: Auf dem RaspI-Linux hat auddioop keine swapbytes() Methode. Habe das nun auf der Standard-Methode von array umgebaut (ist so besser und generischer). Der Raspi (neues Modell mit Quad-Core) schafft damit leider nicht mal Stereo. Ein...
von lightos
Dienstag 1. September 2015, 22:17
Forum: Wissenschaftliches Rechnen
Thema: array.array -> numpy, pyaudio oder andere
Antworten: 2
Zugriffe: 2154

Re: array.array -> numpy, pyaudio oder andere

Das Ganze hat sich zum Teil schon erledigt: Bei der Verwendung von PTVS läuft das weit unter der normalen Performance!!! Innerhalb von PTVS läuft nicht mal ein Stereo-Encoding, wobei das identische Script mit Python3 in der Shell 8 Kanäle encodiert (7.1 16-bit). Source-Extrakt: Python Script unter V...
von lightos
Sonntag 2. August 2015, 10:23
Forum: Wissenschaftliches Rechnen
Thema: array.array -> numpy, pyaudio oder andere
Antworten: 2
Zugriffe: 2154

array.array -> numpy, pyaudio oder andere

Aktuell habe ich folgendes Problem beim Bearbeiten von PCM-Audio Files: Lesen, Schreiben mit wave klappt gut. Ich möchte aber nun möglichst schnell und effektiv z.B. Stereo nach Mono Demuxen und dann alle Mono-Spuren auf 7.1 (also 8 Mono-Kanäle) abspielen. Hierzu verwende ich aktuell nur wave und ar...
von lightos
Donnerstag 30. Juli 2015, 15:10
Forum: Python mit anderen Sprachen verwenden
Thema: subprocess Popen communicate
Antworten: 7
Zugriffe: 4403

Re: subprocess Popen communicate

Ja danke. Das ist der Standard-Fall.
Ist dann aber doch wieder etwas mehr Arbeit (Windows -Thread, pthread, ....)

Dachte schon, es gibt noch was einfacheres.
von lightos
Donnerstag 30. Juli 2015, 12:29
Forum: Python mit anderen Sprachen verwenden
Thema: subprocess Popen communicate
Antworten: 7
Zugriffe: 4403

Re: subprocess Popen communicate

Hallo BlackJack,

das wäre eine Möglichtkeit.

Aber wie kann man Cross-tauglich (Windows/Linux) nicht-blockiernd von stdin lesen?
von lightos
Montag 20. Juli 2015, 14:13
Forum: Python mit anderen Sprachen verwenden
Thema: subprocess Popen communicate
Antworten: 7
Zugriffe: 4403

Re: subprocess Popen communicate

Das habe ich schon gesehen. Benötigt aber unter Python spezielle Erweiterungen, also nicht im Basis-Umfang enthalten.

Das C-Programm kann ich anpassen, aber wie?

Alternativ dann wohl doch lieber über eine C-Dll und ctypes....
von lightos
Montag 20. Juli 2015, 13:32
Forum: Python mit anderen Sprachen verwenden
Thema: subprocess Popen communicate
Antworten: 7
Zugriffe: 4403

subprocess Popen communicate

Hallo, ich habe hier folgendes Problem: Mein Windows-C-Programm (Consolen-exe) läuft in der main-loop und wartet auf _kbhit(). Die exe looped also aktiv mit einem kleinen sleep(). Wie kann man diese exe mit Popen starten und den Key senden, damit die exe stoppt? Beim Testen mit _getch() und gets() i...
von lightos
Freitag 29. Mai 2015, 14:19
Forum: Allgemeine Fragen
Thema: array <-> bytestream
Antworten: 4
Zugriffe: 1088

Re: array <-> bytestream

Mein Denkfehler!
Das Array war nicht leer!!!

Code: Alles auswählen

u16=array.array('H', [1,2,3,4])
bs = b'\x01\x02\x03\x04'
u16.frombytes(bs) # die Daten werden angehängt
-> u16 = array('H', [1, 2, 3, 4, 513, 1027])

Damit hat sich das Problem erledigt.
Danke für die Unterstützung.
von lightos
Freitag 29. Mai 2015, 12:35
Forum: Allgemeine Fragen
Thema: array <-> bytestream
Antworten: 4
Zugriffe: 1088

Re: array <-> bytestream

OK, danke. So geht's natürlich auch!
Der Fehler war, frombytes() zu verwenden.
von lightos
Freitag 29. Mai 2015, 09:32
Forum: Allgemeine Fragen
Thema: array <-> bytestream
Antworten: 4
Zugriffe: 1088

array <-> bytestream

Optimale Umsetzung gesucht: import array arU16 = array.array('H') bytes = b'\x00\x00\x01\x00\x02\x00\x03\x00' # 16-bit bytestream arU16.frombytes(bytes) # das funktioniert nicht, da das Array vom typ verändert wird arU16.tobytes() erzeugt den korrekt byte-Stream. Aber wie funktioniert das in die and...
von lightos
Dienstag 5. Mai 2015, 14:05
Forum: Python mit anderen Sprachen verwenden
Thema: ctypes.Structure POINTER
Antworten: 6
Zugriffe: 5017

Re: ctypes.Structure POINTER

Damit wäre die einfach Antwort: Alles Gut? Mit C habe ich hier keine Probleme, da man natürlich im Debugger alle Adressen prüfen kann (auch außerhalb). Erklärt meiner Ansicht nach nicht, warum der Debugger (PTVS in VS2013) in Python das so darstellt. Er kennt den struct und die Größe. Aber gut. Haup...
von lightos
Dienstag 5. Mai 2015, 12:54
Forum: Python mit anderen Sprachen verwenden
Thema: ctypes.Structure POINTER
Antworten: 6
Zugriffe: 5017

Re: ctypes.Structure POINTER

Danke für die Rückmeldung. Trotzdem strange! Warum ein Array. Die Adresse ist ein Pointer auf eine struct. ZUr Sicherheit ein kleines Sample: import ctypes class UsbPort(ctypes.Structure): _fields_ = [ ("ResourceType", ctypes.c_uint), ("Index", ctypes.c_uint8), ("PhysicalLay...
von lightos
Montag 4. Mai 2015, 17:15
Forum: Python mit anderen Sprachen verwenden
Thema: ctypes.Structure POINTER
Antworten: 6
Zugriffe: 5017

Re: ctypes.Structure POINTER

Ergänzung: Das Problem sieht man nur im Debugger (PTVS in VS2013). Nach der Zuweisung des Pointers enthält die Structure unzählige [0][1][2]..... Warum? Hab das dazu nochmal aufgedrennt und erst den Typ mit ctypes.POINTER erzeugt. Danach das Python-Struct Objekt von diesem Typ und dann sind hier dan...
von lightos
Montag 4. Mai 2015, 16:53
Forum: Python mit anderen Sprachen verwenden
Thema: ctypes.Structure POINTER
Antworten: 6
Zugriffe: 5017

ctypes.Structure POINTER

Es gelingt mir nicht, ctypes-Strukturen über Pointer-Referenzen zu verschachteln: class A(ctypes.Structure): _fields_ ..... class B(ctypes.Structure): _fields_ = [("RefA", ctypes.POINTER(A)), .... ] def __init__(self, obj, ...) self.RefA = ctypes.pointer(obj) # wobei hier dann obj self aus...
von lightos
Freitag 17. April 2015, 14:54
Forum: Python mit anderen Sprachen verwenden
Thema: Register Callback "context"
Antworten: 4
Zugriffe: 3155

Re: Register Callback "context"

Hallo BlackJack,

danke für den Hinweis. Nun klappt das so wie gedacht.

Wünsche ein schönes Wochenende.

lightos
von lightos
Donnerstag 16. April 2015, 14:08
Forum: Python mit anderen Sprachen verwenden
Thema: unicode - utf-8
Antworten: 8
Zugriffe: 6342

Re: unicode - utf-8

Ergänzung zur Optimierung:

Aktuell haben die so/Dlls eine Funktion, um die Size von char abfragen zu können.
In Python kann so die korrekte Umsetzung dynamisch im wrapper erfolgen.
von lightos
Donnerstag 16. April 2015, 13:39
Forum: Python mit anderen Sprachen verwenden
Thema: Register Callback "context"
Antworten: 4
Zugriffe: 3155

Re: Register Callback "context"

Hallo BlackJack, danke für die schnelle Antwort. So ähnliche Antworten gab es auch in anderen Foren. Aber damit scheint das mit ctypes einfach so zu funktionieren. Also: CB_DeviceChangeEvent = ctypes.CFUNCTYPE(None, ctypes.c_char, ctypes.c_void_p) class() .... def cb_device_change(self, eventType, c...
von lightos
Donnerstag 16. April 2015, 11:35
Forum: Python mit anderen Sprachen verwenden
Thema: Register Callback "context"
Antworten: 4
Zugriffe: 3155

Register Callback "context"

Hallo, ich habe eine generelle Frage zu einer C-Dll-Anbindung bzgl. Callback/this*. Häufig findet sich für die Anbindung von C++ über die C-API der context (void*), um "this" in der Callback durchzureichen. Beispiel: RegisterDeviceChangeCallback( const char* deviceSetDescription, CB_Device...