From 967c3023786aaf8753d5a7597c4a418d95807c5b Mon Sep 17 00:00:00 2001
From: pin <pin@fe552daf-6dbe-4428-90eb-1537e0879342>
Date: Tue, 23 Mar 2010 14:01:31 +0000
Subject: [PATCH 1/1] =?utf8?q?Affichage=20=C3=A9cran=20de=20lancement.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit

git-svn-id: https://svn.cri.ensmp.fr/svn/minwii/trunk@112 fe552daf-6dbe-4428-90eb-1537e0879342
---
 src/app/minwii.py                |   9 ++++++++-
 src/app/start.py                 |   4 ++--
 src/app/widgets/data/accueil.png | Bin 0 -> 13842 bytes
 src/app/widgets/launch.py        |  19 +++++++++++++++++++
 4 files changed, 29 insertions(+), 3 deletions(-)
 create mode 100644 src/app/widgets/data/accueil.png
 create mode 100755 src/app/widgets/launch.py

diff --git a/src/app/minwii.py b/src/app/minwii.py
index dbf1b23..06e33f7 100755
--- a/src/app/minwii.py
+++ b/src/app/minwii.py
@@ -9,6 +9,7 @@ $URL$
 import pygame
 from pgu.gui import Desktop
 from pgu.gui import QUIT
+from widgets.launch import LaunchScreen
 from widgets.home import Home
 from widgets.playingscreen import SongPlayingScreen, PlayingScreen
 from widgets.instrumentselector import InstrumentSelector
@@ -16,13 +17,19 @@ from synth import Synth
 from eventutils import EventDispatcher
 from musicxml import musicXml2Song
 from config import SONG_FILE_PATH
+from time import sleep
 
 class MinWii(object):
     
     def __init__(self) :
+        LaunchScreen()
         app = Desktop()
         synth = Synth()
 
+        modeResolution = (1024,768)
+        pygame.display.set_mode(modeResolution)
+        pygame.display.set_caption('MinWii')
+
         while True :
             # sélection de la chanson
             home = Home(songPath=SONG_FILE_PATH)
@@ -42,7 +49,7 @@ class MinWii(object):
             instrumentDescription = selector.selectedInstrument
             
             # lancement du lecteur / clavier
-            song = musicXml2Song(home.songFile, printNotes=True)
+            song = musicXml2Song(home.songFile)
             bank, preset = instrumentDescription['bank'], instrumentDescription['preset']
             synth.program_select(0, bank, preset)
             playingScreen = SongPlayingScreen(synth, song)
diff --git a/src/app/start.py b/src/app/start.py
index 9cfbd40..c71bc45 100755
--- a/src/app/start.py
+++ b/src/app/start.py
@@ -13,9 +13,9 @@ def main() :
     from minwii import MinWii
     
     pygame.init()
-    modeResolution = (1024,768)
+    #modeResolution = (1024,768)
     #modeResolution = (600,480)
-    window = pygame.display.set_mode(modeResolution)#, pygame.FULLSCREEN)
+    #pygame.display.set_mode(modeResolution, pygame.NOFRAME)#, pygame.FULLSCREEN)
     MinWii()
     # from gui.PGUConfiguration import PGUConfiguration
     # pygame.init()
diff --git a/src/app/widgets/data/accueil.png b/src/app/widgets/data/accueil.png
new file mode 100644
index 0000000000000000000000000000000000000000..cd3224b5172098f5ff49567df1dc27e46ae4b9d3
GIT binary patch
literal 13842
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

literal 0
HcmV?d00001

diff --git a/src/app/widgets/launch.py b/src/app/widgets/launch.py
new file mode 100755
index 0000000..04f1cbd
--- /dev/null
+++ b/src/app/widgets/launch.py
@@ -0,0 +1,19 @@
+import pygame
+import os.path
+
+class LaunchScreen :
+
+    @staticmethod
+    def _get_launch_image() :
+        imagePath = os.path.abspath(__file__).split(os.path.sep)[:-1]
+        imagePath.extend(['data', 'accueil.png'])
+        return os.path.sep.join(imagePath)
+
+    def __init__(self) :
+        imagePath = LaunchScreen._get_launch_image()
+        self.image = pygame.image.load(imagePath)
+        size = self.image.get_size()
+        pygame.display.set_mode(size, pygame.NOFRAME)
+        screen = pygame.display.get_surface()
+        screen.blit(self.image, (0,0))
+        pygame.display.flip()
-- 
2.20.1