コード例 #1
0
def main():
    parser = argparse.ArgumentParser()
    parser.add_argument('audiofiles', nargs='*')
    parser.add_argument('--norm',
                        action='store_true',
                        default=False,
                        help='normalizes input audio')
    parser.add_argument('--info',
                        '-i',
                        action='store_true',
                        default=False,
                        help='prints info')
    parser.add_argument('--nogui',
                        action='store_true',
                        default=False,
                        help='commandline mode')
    parser.add_argument('--play',
                        action='store_true',
                        default=False,
                        help='plays on startup')
    parser.add_argument('--action', '-a')

    args = parser.parse_args()

    songs = []
    for audiofile in args.audiofiles:
        # nomix.add_layer(audiofile)
        songs.append(open_song_from_file(audiofile))

    # if args.norm:
    #     for song in songs:
    #         normalize(song)

    if args.info:
        for song in songs:
            print_info(song)
        return

    if args.nogui:
        return

    nanogui.init()
    nomix = NomixApp()
    i = 0
    if songs:
        for song in songs:
            nomix.add_layer(str(i), song)
            i += 1
        nomix.redraw_spect()
    nomix_set_status('[+] Initialized')
    print('[+] starting in gui mode')
    nomix.drawAll()
    nomix.setVisible(True)
    if args.play:
        nomix.engine.play(0)
    nanogui.mainloop()
    del nomix
    gc.collect()
    nanogui.shutdown()
コード例 #2
0
def compare_voxel_grids(names, data):
    nanogui.init()

    app = VoxelGridViewer([x for x in zip(names, data)])
    app.drawAll()
    app.setVisible(True)

    nanogui.mainloop()
    del app
    gc.collect()
    nanogui.shutdown()
コード例 #3
0
def run_detached():
    viewer = Viewer()
    time.sleep(2)  # <-- otherwise I get a SIGSEGV: address boundary error
    h = ng.mainloop(detach=viewer.screen)
    h.join()
    viewer = None
    gc.collect()
    ng.shutdown()
コード例 #4
0
ファイル: example2.py プロジェクト: timt51/Fall-2017
gui.addGroup("Basic types")
gui.addBoolVariable("bool", *make_accessors("bvar"))
gui.addStringVariable("string", *make_accessors("strvar"))

gui.addGroup("Validating fields")
gui.addIntVariable("int", *make_accessors("ivar"))
gui.addDoubleVariable("double", *make_accessors("dvar")).setSpinnable(True)

gui.addGroup("Complex types")
gui.addEnumVariable("Enumeration", *make_accessors("enumvar")) \
   .setItems(["Item 1", "Item 2", "Item 3"])
gui.addColorVariable("Color", *make_accessors("colvar"))

gui.addGroup("Other widgets")


def cb():
    print("Button pressed.")


gui.addButton("A button", cb)

screen.setVisible(True)
screen.performLayout()
window.center()

nanogui.mainloop()
screen = gui = window = None
gc.collect()
nanogui.shutdown()
コード例 #5
0
            return
        self.render_pass.resize(self.framebuffer_size())
        s = self.size()
        with self.render_pass:
            mvp = nanogui.scale([s[1] / float(s[0]) * 0.25, 0.25, 0.25]) @ \
                  nanogui.rotate([0, 0, 1], glfw.getTime())
            self.shader.set_buffer("mvp", np.float32(mvp.T))
            with self.shader:
                self.shader.draw_array(Shader.PrimitiveType.Triangle, 0, 6,
                                       True)

    def keyboard_event(self, key, scancode, action, modifiers):
        if super(TestApp, self).keyboard_event(key, scancode, action,
                                               modifiers):
            return True
        if key == glfw.KEY_ESCAPE and action == glfw.PRESS:
            self.set_visible(False)
            return True
        return False


if __name__ == "__main__":
    nanogui.init()
    test = TestApp()
    test.draw_all()
    test.set_visible(True)
    nanogui.mainloop(refresh=1 / 60.0 * 1000)
    del test
    gc.collect()
    nanogui.shutdown()
コード例 #6
0
ファイル: example1.py プロジェクト: Meumeu/nanogui
                 [0, 0, 1, 0],
                 [0, 0, 0, 1]],
                dtype=np.float32
            )

            mvp[0:3, 0:3] *= 0.25
            mvp[0, :] *= self.size()[1] / self.size()[0]

            self.shader.setUniform("modelViewProj", mvp)
            self.shader.drawIndexed(gl.TRIANGLES, 0, 2)
        super(TestApp, self).drawContents()

    def keyboardEvent(self, key, scancode, action, modifiers):
        if super(TestApp, self).keyboardEvent(key, scancode,
                                              action, modifiers):
            return True
        if key == glfw.KEY_ESCAPE and action == glfw.PRESS:
            self.setVisible(False)
            return True
        return False

if __name__ == "__main__":
    nanogui.init()
    test = TestApp()
    test.drawAll()
    test.setVisible(True)
    nanogui.mainloop()
    del test
    gc.collect()
    nanogui.shutdown()
コード例 #7
0
        b.setCallback(cb)

        b = Button(window, "Quit")

        def cb2():
            self.setVisible(False)

        b.setCallback(cb2)

        self.performLayout()


if __name__ == "__main__":
    nanogui.init()
    test = TestApp()
    test.drawAll()
    test.setVisible(True)

    print("Launching detached mainloop")
    h = nanogui.mainloop(detach=test)

    print("Back in Python context")
    for i in range(10):
        print(i)
        time.sleep(1)
        if not nanogui.active():
            break

    h.join()
    nanogui.shutdown()
コード例 #8
0
ファイル: example3.py プロジェクト: GPMueller/nanogui-app
        b.set_callback(cb)

        b = Button(window, "Quit")

        def cb2():
            self.set_visible(False)

        b.set_callback(cb2)

        self.perform_layout()


if __name__ == "__main__":
    nanogui.init()
    test = TestApp()
    test.draw_all()
    test.set_visible(True)

    print("Launching detached mainloop")
    h = nanogui.mainloop(detach=test, refresh=0)

    print("Back in Python context")
    for i in range(10):
        print(i)
        time.sleep(1)
        if not nanogui.active():
            break

    h.join()
    nanogui.shutdown()
コード例 #9
0
ファイル: example3.py プロジェクト: romp13/nanogui
            print("pushed!")
        b.set_callback(cb)

        b = Button(window, "Quit")

        def cb2():
            self.set_visible(False)
        b.set_callback(cb2)

        self.perform_layout()


if __name__ == "__main__":
    nanogui.init()
    test = TestApp()
    test.draw_all()
    test.set_visible(True)

    print("Launching detached mainloop")
    h = nanogui.mainloop(detach=test, refresh=0)

    print("Back in Python context")
    for i in range(10):
        print(i)
        time.sleep(1)
        if not nanogui.active():
            break

    h.join()
    nanogui.shutdown()
コード例 #10
0
ファイル: render_test_3.py プロジェクト: thevojacek/nanogui
                                       aspect=fbsize[0] / float(fbsize[1]))

            mvp = proj @ view @ model
            self.shader.set_buffer("mvp", np.float32(mvp.T))
            with self.shader:
                self.shader.draw_array(Shader.PrimitiveType.Triangle,
                                       0,
                                       6,
                                       indexed=True)

    def keyboard_event(self, key, scancode, action, modifiers):
        if super(MyScreen, self).keyboard_event(key, scancode, action,
                                                modifiers):
            return True
        if key == glfw.KEY_ESCAPE and action == glfw.PRESS:
            self.set_visible(False)
            return True
        return False

    def resize_event(self, size):
        self.render_pass.resize(self.framebuffer_size())
        super(MyScreen, self).resize_event(size)
        return True


nanogui.init()
s = MyScreen()
s.set_visible(True)
nanogui.mainloop(1 / 60.0 * 1000)
nanogui.shutdown()
コード例 #11
0
gui.add_string_variable('string', *make_accessors('strvar'))
gui.add_string_variable(
    'placeholder', *make_accessors('strvar2')).set_placeholder('placeholder')

gui.add_group('Validating fields')
gui.add_int_variable('int', *make_accessors('ivar'))
gui.add_double_variable('double', *make_accessors('dvar'))

gui.add_group('Complex types')
gui.add_enum_variable('Enumeration', *make_accessors('enumvar')) \
   .set_items(['Item 1', 'Item 2', 'Item 3'])
gui.add_color_variable('Color', *make_accessors('colvar'))

gui.add_group('Other widgets')


def cb():
    print('Button pressed.')


gui.add_button('A button', cb)

screen.set_visible(True)
screen.perform_layout()
window.center()

nanogui.mainloop(refresh=0)
screen = gui = window = None
gc.collect()
nanogui.shutdown()
コード例 #12
0
#!/usr/bin/env python3

# Make sure to find pyVFRendering, nanogui and ovf if manually built
# This is only needed if you did not install the package
#
# import sys
# import os
# pyVFRenderingDir = os.path.abspath(os.path.join(os.path.dirname( __file__ ), "VFRendering/build/Release"))
# sys.path.insert(0, pyVFRenderingDir)
# nanoguiDir = os.path.abspath(os.path.join(os.path.dirname( __file__ ), "nanogui/build/Release/python"))
# sys.path.insert(0, nanoguiDir)
# nanoguiDir = os.path.abspath(os.path.join(os.path.dirname( __file__ ), "ovf/python"))
# sys.path.insert(0, nanoguiDir)

import nanogui
import gc

from ui.main_window import MainWindow

if __name__ == '__main__':
    nanogui.init()
    win = MainWindow(800, 600)
    win.setVisible(True)
    nanogui.mainloop(refresh=1000)
    del win
    gc.collect
    nanogui.shutdown()
コード例 #13
0
ファイル: example3.py プロジェクト: Meumeu/nanogui
        b = Button(window, "Quit")

        def cb2():
            global quit
            quit = True
            self.setVisible(False)
        b.setCallback(cb2)

        self.performLayout()


if __name__ == "__main__":
    nanogui.init()
    test = TestApp()
    test.drawAll()
    test.setVisible(True)

    print("Launching detached mainloop")
    h = nanogui.mainloop(detach=test)

    print("Back in Python context")
    for i in range(10):
        print(i)
        time.sleep(1)
        if quit:
            break

    h.join()
    nanogui.shutdown()
コード例 #14
0
ファイル: example1.py プロジェクト: romp13/nanogui
                 [0, 0, 1, 0],
                 [0, 0, 0, 1]],
                dtype=np.float32
            )

            mvp[0:3, 0:3] *= 0.25
            mvp[0, :] *= self.size()[1] / self.size()[0]

            self.shader.set_uniform("model_view_proj", mvp)
            self.shader.draw_indexed(gl.TRIANGLES, 0, 2)
        super(TestApp, self).draw_contents()

    def keyboard_event(self, key, scancode, action, modifiers):
        if super(TestApp, self).keyboard_event(key, scancode,
                                              action, modifiers):
            return True
        if key == glfw.KEY_ESCAPE and action == glfw.PRESS:
            self.set_visible(False)
            return True
        return False

if __name__ == "__main__":
    nanogui.init()
    test = TestApp()
    test.draw_all()
    test.set_visible(True)
    nanogui.mainloop(refresh=50)
    del test
    gc.collect()
    nanogui.shutdown()
コード例 #15
0
 def start(self):
     ng.mainloop()