Profile picture Über mich

sebadorn | blog

Quod Libets optische Bewertungs-Note ersetzen

InformaticsMusic
2

Quod Libet mit Noten als Bewertungseinheit

Quod Libets Bewertung erfolgt in Notensymbolen, wie auf dem oberen Screenshot zu sehen. Das finde ich etwas verbesserungsbedürftig, denn das Symbol ist dünn und beim flüchtigen Blick über die Liste fällt es mir da schwer, schnell die unterschiedlichen Bewertungen auszumachen. Also: Sterne sollen es wieder sein.

cd /usr/lib/pymodules/python2.6/quodlibet/util/
gksudo gedit __init__.py

Im Terminal (Ubuntu) wechselt man in das Verzeichnis, in denen die Pythondateien von Quod Libet liegen und editiert __init__.py. Da es sich um Python handelt, ist es wichtig auf korrekte Einrückung zu achten. Hier wurde mit 4 Leerzeichen eingerückt.

RATING_PRECISION = 0.25
def format_rating(value):
    """Turn a number into a sequence of music notes."""
    # Default Note: u'\u266a'  Star: u'\u2605'
    return (u'\u2605' * int(round((1/RATING_PRECISION) * value)))

Am Anfang des return statements ersetzt man den Unicode mit dem für das gewünschte Zeichen. Der Kommentar stammt von mir und sagt hoffentlich alles. Weil Python so toll ist, reicht es den in lesbarer Form vorliegenden Quellcode zu editieren und das Programm neuzustarten. Falls es nicht direkt klappt, löscht mal die __init__.pyc.

Quod Libet mit Sternen als Bewertungseinheit


Anmerkung: Nach einem Update des Players ist die Veränderung sehr wahrscheinlich wieder überschrieben und muss erneut vorgenommen werden.

Read more

Computergrafik: Unsere OpenGL-Achterbahn

InformaticsStudenthood
2

Der Kurs Computergrafik (CG) ging nur das halbe Semester über, dafür mit zwei Terminen pro Woche. Endabgabe fürs Praktikum war es, mit Python und OpenGL eine Achterbahn zu bauen. Genau sahen die abzuhakenden Punkte wie folgt aus:

  • Die Bahn der Achterbahn soll als geschlossene B-Spline-Kurve beschrieben werden. (Dazu kommt gleich noch etwas.)
  • Der Coaster der Achterbahn soll texturiert sein.
  • Die Szene soll von einer Skybox umgeben sein.
  • Mit den Tasten + und - soll die Geschwindigkeit verändert werden können.
  • Mit der Taste K soll zwischen einer Kameraposition auf dem Coaster und einer Gesamtansicht gewechselt werden können.
  • Die Orientierung der Kamera soll per Maus verändert werden können.

Sagen wir es mal so: Wir (meine 3er-Gruppe) haben fast alles irgendwie hinbekommen. Und ja, das Video zu Beginn zeigt eben jenes unseres Endprodukt. (Unter beabsichtigter Nicht-Darstellung einiger Bugs. ;) ). Aufgenommen hat es Kai.

Read more

Eclipse mit Pydev für Python fit machen

Informatics
8

Seit dem 1. Semester Medieninformatik verwenden wir Eclipse für Java-Entwicklung. Jetzt im 3. Semester kam Skriptsprache Python dazu, als IDE wurde uns nur IDLE gezeigt. Mit IDLE bin ich persönlich nicht so recht warm geworden, obwohl die Python Shell davon doch recht praktisch ist für kleinere Programmfetzen. In Hinsicht auf das Eclipse-Subversion-PlugIn wäre es aber doch was Feines, könnte man auch Eclipse verwenden.

Pydev installieren

Mit dem PlugIn Pydev geht das. In Eclipse über die Menüpunkte Help ? Install New Software… gehen. Als URL http://pydev.org/updates eintragen und nach Schema F weiter durchklicken.

Pydev installieren Available Software

Read more

Python-Onlinetest

InformaticsStudenthood
2

Der Onlinetest in Python liegt schon etwas zurück und die Bekanntgabe der Noten liegt noch etwas in der Zukunft. Die Punkteverteilung war für alle Aufgaben gleich. Und es war der letzte. Keine Onlinetests mehr dieses Semester.


1. Da die Leerzeichen weltweit knapp werden, sollen von der Standardeingabe gelesene Zeilen auf das Nötigste an Leerzeichen reduziert werden. Zu entfernen sind Leerzeichen am Anfang und Ende der Zeile und Wörter werden maximal mit 1 Leerzeichen getrennt. Zusätzlich werden Wörter, die mit einem Großbuchstaben anfangen, komplett groß geschrieben.

def entleerzeiche(line):
	line = line.strip()
	line = line.split()
	result = []
	for wort in line:
		if str.isupper(wort[0]):
			wort = str.upper(wort)
		result.append(wort)
	line = " ".join(result)
	return line

if __name__ == "__main__":
	line = raw_input()
	while(line != ""):
		line = entleerzeiche(line)
		print line
		line = raw_input()
Read more