GrandOrgue is a sample based pipe organ simulator.

Build status Release License: GPL v2

GrandOrgue

GrandOrgue is a sample based pipe organ simulator.

It currently supports Linux, Windows and OS X. Porting to other OS supported by RtMidi, RtAudio and wxWidgets should be possible with some build system adjustments.

Home page and resources

GrandOrgue is hosted on Github. The repository can be found at https://github.com/GrandOrgue/grandorgue.

GrandOrgue was earlier hosted on SourceForge https://sourceforge.net/projects/ourorgan and a copy of the old source code before migration can be found in the svn branch https://github.com/GrandOrgue/grandorgue/tree/svn.

Development of GrandOrgue is continuous, see CHANGELOG.md for full history of changes.

The discussion forum is available at https://github.com/GrandOrgue/grandorgue/discussions.

For bug reports and feature requests post issues at https://github.com/GrandOrgue/grandorgue/issues.

Contributors are welcome on Github. You may create pull requests at https://github.com/GrandOrgue/grandorgue/pulls. But before creating a complex pull request it's usually better to first create an issue for discussing it.

Installation

See INSTALL.md for the downloading and installation prebuilt GrandOrgue packages.

Building from sources

See BUILD.md for instructions on how to build GrandOrgue from the source code.

Comments
  • Change the version numbers

    Change the version numbers

    Now GO versions look like 0.3.1.Svn number.

    After migrating to GitHub we might change tis,

    My suggestion is

    • to remove leading 0. from the version number. GO is mature enough for starting with 0.
    • To increase 1 to 2.

    So to make 3.2.0 after 0.3.1.2342

  • GrandOrgue freezing in some conditions

    GrandOrgue freezing in some conditions

    I will add some logs in a further message, but for some versions releases, GrandOrgue behavior is weird at launch and at closing (execution during play is ok).

    • OS: Ubuntu 22
    • GrandOrgue: 3.9.0

    Sometimes, GrandOrgue launch does not ... launch GrandOrgue at all.

    Sometimes, GrandOrgue closing is causing freezes on some windows (and the OS windows 'GrandOrgue is not responding' is displayed).

  • GrandOrgue crashes after loading organs several times

    GrandOrgue crashes after loading organs several times

    A nice-to-have feature would be, imho, to auto-close already open organ upon loading a new one. At present, GO keeps any organ open until memory is full (considering the large ram request of most samplesets, this happens very often, even after loading just 2 organs). When memory is full, GO does crash without warning and closes itself, disappearing from desktop. I write this post here (not in discussion/ideas) because it could be considered an issue as GO brutally closes.

  • Organ panels position not memorised

    Organ panels position not memorised

    Hello, I don't know if it's a grandorgue bug or a bug in my computer, but when I start grandorgue, the position of my panels is never remembered.

    I am using Linux Mint with grandorgue version 3.2.0.1, and two touch screens. When the computer starts up, the two panels with stops (right jamb and left jamb) are placed on my right screen, while the main menu of grandorgue is placed on the left screen.

    Systematically, I move my left panel to the left screen then I save the settings, but when restarting it is identical the two panels go back to the right screen ...

  • [Feature request] AppImage target

    [Feature request] AppImage target

    It would be helpful if you could include some scripts to enable deploying of AppImage bundles as well as DEB/RPM packages.

    I already have a recipe for building AppImage for GrandOrgue in my forked OBS repository: https://build.opensuse.org/package/view_file/home:lbssousa:grandorgue/grandorgue/appimage.yml?expand=1 , but I'm still having problems with JACK support. Maybe I should build GrandOrgue AppImage without JACK support.

    This Github action can be handful: https://github.com/marketplace/actions/build-appimage

  • [RFC] Migration to github

    [RFC] Migration to github

    Hi @e9925248 @larspalo,

    I've created this repository and made a first migration of SVN original repository embedding the commit history and authors (with github sync when I found it).

    I'm waiting your feedback on this to go forward. I hope soon. Thanks

  • Feature/settings organs

    Feature/settings organs

    Resolves: #700 Resolves: #886 Resolves: #950 Resolves: #1049 Resolves: #1119

    This PR summarises a quite large amount of work on the Organs tab of the Settings dialog.

    • The package list is got rid. The packages are maintained automatically with the corresponded organs #950
    • Several organs may be selected a time. It allows to do same actions with several organs at once
    • Additional information is shown including the Organ hash that allows to identify GrandOrgue files in the Cache and Data folders (#700)
    • Capability to delete cache and saved presets for organs
    • Capability to change the filesystem path of organs after the files were moved
  • GrandOrgue crashes when Convolution Reverb is activated while the organ is still running

    GrandOrgue crashes when Convolution Reverb is activated while the organ is still running

    I would very much like to report what could be a possible GrandOrgue error. Let's see. I went to perform a test with the convulation reverb feature enabled. It seems to work normally, provided that a valid impulse response has been selected. What happens, however, is that if the user changes any impulse response file or even turns the feature on or off when the organ is still running, it seems to me that GrandOrgue starts crashing and showing a lot of instability, with strong bursts in the audio that are only resolved either by closing the program or sometimes by pressing the "panic" button. I ask, in this spirit, if this could be some bug in the program or if the convolution reverb should not be changed when the organ is still running?

  • Linux audio glitchy

    Linux audio glitchy

    Ubuntu 22.04 GO 3.9.1

    No matter the audio settings even simple stereo or multichannel audio is glitchy almost like not enough polyphony!? RT or PA and audio buffer settings of 128 256 512 1024 doesn't fix.

  • Merging changes from https://github.com/oleg68/GrandOrgue

    Merging changes from https://github.com/oleg68/GrandOrgue

    The discussion was already started in https://sourceforge.net/p/ourorgan/discussion/962124/thread/980e53e5f4/?limit=25&page=3#fa69/6bd9/c233 and then was continued in https://github.com/GrandOrgue/grandorgue/pull/2#issuecomment-913387050

    I think it's better to start a separate thread for discussing the process of merging.

    We have several options, each of them have their advantages and disadvantages.

    1. Merge all changes without code review
    2. Merge all changes after some small amount of code review but without lots of modifying
    3. Merge all changes with exact code review in the same order as they were in the fork
    4. Merge only some of changes. It is quite easy to merge small changes but it is difficult to extract large changes with a lot of related commits
      1. Minimal approach. If there are two changes A and B; B works only with A. We want to merge B but don't want to merge A, then we modify B and A before merge that to get the maximum from B and the minimum from A.
      2. Maximal approach. If there are two changes A and B; B works only with A. We want to merge B than we also take A. It can recursivelly require additions of other changes, so the PR becomes very large. Some example of this approach is #2
    5. Not to merge any changes at all
  • Help and settings dialog problems

    Help and settings dialog problems

    i tested latest r3631 under linux (raspbian) and WIndows 10 and found several issues. linux: help dialog opens but Settings dialog looses focus and cannot be anymore selectable. In addition, if the minimize button in the Help modal dialog is selected, then it disappears and cannot be reopened anymore (even if it can be seen in the top app bar). As a result, as both Settings, Help and GO windows/dialogs are no more focused they all cannot be closed and it is necessary to kill GO process from terminal. A less important issue is that Help dialog on first open is 0-size and appears as a small vertical bar (look at last screen recording).

    Windows: more or less the same issues apart there is no need to kill process. When opening Help, its dialog stays always over the Settings dialog: this is not good in Windows as it should get fore and back as the two dialogs take focus (see the screencam on Treesize that is a small tool i ran just for example). And again, if the minimize button is choosen then it doesnt appear anymore, even pushing again the Help button. No Help is later on available even from Menu. The only way to reset situation is to close and restart GO.

    Pls look at the screen captures below.

    https://user-images.githubusercontent.com/50132661/156633497-2e2ccb01-96e0-4ceb-a8ea-73b89fb0ca99.mp4

    https://user-images.githubusercontent.com/50132661/156633676-944fb7f9-a297-49c2-8b54-765e684b197f.mp4

    https://user-images.githubusercontent.com/50132661/156633719-d291543e-5151-4ea8-a8a1-78ec391cca71.mp4

    https://user-images.githubusercontent.com/50132661/156643002-5c9ce9b0-dbe2-47c0-b952-6881d5d5db1b.mp4

    https://user-images.githubusercontent.com/50132661/156644170-071babea-0b0b-469b-99b0-3b5909d21e6e.mp4

  • Renamed GOOrganController::m_PipeConfig to m_RootPipeConfigNode and moved to GOOrganModel

    Renamed GOOrganController::m_PipeConfig to m_RootPipeConfigNode and moved to GOOrganModel

    Toward to elimination dependencies on GOOrganContoller I renamed and moved GOOrganController::m_PipeConfig to GOOrganModel::GOOrganModel.

    So all GOPipeConfig instances are present in the model and noone is in the controller.

  • Fixed help: the wrong panal positioning on wayland was documented https://github.com/GrandOrgue/grandorgue/issues/1271

    Fixed help: the wrong panal positioning on wayland was documented https://github.com/GrandOrgue/grandorgue/issues/1271

    Resolves: #1271

    This PR documents restriction of working on wayland.

    The wiki page https://github.com/GrandOrgue/grandorgue/wiki/FAQ has also updated.

  • Not remembering Windows position or size

    Not remembering Windows position or size

    Linux Ubuntu 22.04 GO 3.9.1

    Loading samplet freisach for eg window is full screen. Move it and position it - save - close down and start up again goes back to full screen.

  • [feature] Add regex matching with the audio device name

    [feature] Add regex matching with the audio device name

    Since some time, at least dating back to commit 3a861221a252c4ec60aa93e1ce2c031c99cc1744 but could be older, the device id of USB audio devices seem to randomly change again at boots. This requires re-setting the audio device to get working sound again since wrong id is stored since last boot. A matching solution like that of the MIDI devices perhaps would be in order?

  • [feature] Set like button for combination setter number?

    [feature] Set like button for combination setter number?

    Discussed in https://github.com/GrandOrgue/grandorgue/discussions/1236

    Originally posted by Fl0r14n November 1, 2022 I am wondering if there is a possibility of a button that will initiate a combination setter change state that will wait for 3 digits. Currently to set combination 130, I have to press +100, 3 x +10 and _0. What I would like is a button (let's call it N) that when pressed will wait for me to add _1, then _3, then _0 to jump to combination 130. For 024 will be N + _0 + _2 + _4

    The existing functionality, for when I am on 130 and want to jump to 133, in which I just press _3, is great.

    If I press N then press just 2 digits let's say, it will stay in a suspended state until I press the last digit. This is useful for when during a play, I have to switch from 130 back to let's say 126, without pressing 4 x < which creates side effects with registration (I know it's an edge case and why not duplicate the registration to 131 and just do > the whole piece)

    That will help me a lot with my organ where I have 0 - 9 < > T C under the first manual, so that I don't use the keyboard

ESP32, ESP8266 based MIDI Organ using the ML_SynthTools library (little example arduino project)
ESP32, ESP8266 based MIDI Organ using the ML_SynthTools library (little example arduino project)

ml_synth_organ_example MIDI Organ using the ML_SynthTools library (little example arduino project) link to the video This project is an example suppor

Dec 12, 2022
A Motorola 68K simulator based on Musashi-master 68K simulator.

cpmsim Originally referenced as http://home.earthlink.net/~schultdw/cpm68/simulator.html (now 404) This simple CP/M-68K simulator, is built around the

Oct 26, 2021
Exploit for Dirty-Pipe (CVE-2022-0847)
Exploit for Dirty-Pipe (CVE-2022-0847)

Dirty-Pipe (PoC) What is it? Dirty-Pipe is a vulnerability which allows us to overwrite files even if they have read-only permissions. This vulnerabil

Dec 25, 2022
A Gazebo based LiDAR-Camera Data Simulator.
A Gazebo based LiDAR-Camera Data Simulator.

Livox-LiDAR-Camera System Simulator A package to provide plug-in for Livox Series LiDAR. This work is inherited from EpsAvlc and LvFengchi's work: liv

Jan 5, 2023
Arduino sample code to help you get started using the Soracom IoT Starter Kit!
Arduino sample code to help you get started using the Soracom IoT Starter Kit!

Soracom IoT Starter Kit The Soracom IoT Starter Kit includes everything you need to build your first connected device. It includes an Arduino MKR GSM

Jul 30, 2022
ESP32 drum computer / sample player / midi sequencer (Arduino audio project)

esp32_drum_computer ESP32 drum computer / sample player / midi sequencer (Arduino audio project) The project can be seen in my video https://youtu.be/

Dec 6, 2022
A C++17 library of computationally efficient methods for calculating sample statistics
A C++17 library of computationally efficient methods for calculating sample statistics

Vectorized statistics using SIMD primitives Introduction is a C++17 library of computationally efficient methods for calculating sample statistics (me

Nov 20, 2022
Cross-platform tool to extract wavetables and draw envelopes from sample files, exporting the wavetable and generating the appropriate SFZ text to use in a suitable player.
Cross-platform tool to extract wavetables and draw envelopes from sample files, exporting the wavetable and generating the appropriate SFZ text to use in a suitable player.

wextract Cross-platform tool to extract wavetables and draw envelopes from sample files, exporting the wavetable and generating the appropriate SFZ te

Jan 5, 2022
Faster Non-Integer Sample Rate Conversion
Faster Non-Integer Sample Rate Conversion

Non-Integer Sample Rate Conversion This repository contains a comparison of sample-rate conversion (SRC) algorithms, with an emphasis on performance f

Jul 5, 2022
A sample demonstrating hybrid ray tracing and rasterisation for shadow rendering and use of the FidelityFX Denoiser.
A sample demonstrating hybrid ray tracing and rasterisation for shadow rendering and use of the FidelityFX Denoiser.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Dec 3, 2022
CMSGen, a fast uniform-like sample generator

CMSGen a fast uniform-like sampler This system provides CMSGen, a fast uniform-like sampler. While we give no guarntees that the sampling is uniform,

Dec 2, 2022
A simple and sample port of ceserver to iOS.

A simple and sample port of ceserver to iOS.This project is currently under development.

Oct 19, 2021
Sample module for FreeSWITCH using golang

freeswitch_module_golang_sample Sample module for FreeSWITCH using golang tl; dr

Nov 5, 2022
Skrull is a malware DRM, that prevents Automatic Sample Submission by AV/EDR and Signature Scanning from Kernel.
Skrull is a malware DRM, that prevents Automatic Sample Submission by AV/EDR and Signature Scanning from Kernel.

Skrull is a malware DRM, that prevents Automatic Sample Submission by AV/EDR and Signature Scanning from Kernel. It generates launchers that can run malware on the victim using the Process Ghosting technique. Also, launchers are totally anti-copy and naturally broken when got submitted.

Dec 10, 2022
A sample project for building Zygisk modules

Developing Zygisk Modules This repository hosts a template zygisk module for developers to start developing Zygisk modules. Before developing Zygisk m

Jan 1, 2023
Sample project using snmalloc

Sample project to use snmalloc This is a sample project which uses snmalloc in a couple of different setup. There are a couple of ways to integrate sn

Nov 1, 2021
Sample/Testing for FRC Robot
Sample/Testing for FRC Robot

Sample/Testing for FRC Robot

Jan 24, 2022
Sample/Testing for FRC Robot
Sample/Testing for FRC Robot

Sample/Testing for FRC Robot

Jan 24, 2022
Well-organized, commented and documented sample project that shows the basic functionalities of the 42's mlx library.

miniLibX sample | slucas-s I developed this sample project to play around with the basic functionalities of the miniLibX, the simple graphics library

Jan 1, 2023