Psycle History

Based on a article by KSN, the Psycledelics FAQ and first-person knowledge.


Psycle's development began in May 2000. It was designed by Arguru as a "Buzz clone",
taking its machine view model and with a sequence that had one line per machine
(horizontal, as opposed to Buzz's vertical one). The first difference was the
disconnection of machines from patterns. In effect the same pattern could be
arranged in the sequencer for several (different) machines (up to the user if
that made sense to the song)

After the first few alpha versions, Arguru changed Psycle into a more classical
style tracker, only keeping the Buzz-influenced Machine View. Each song position
defined in the sequencer was linked to one pattern used to enter notes and data
for all the machines at the same time. This is how it has remained until today.
When version 1.0 was close, some important features were added (such as the "twk"
command and .wav rendering) but Psycle was still unfinished. It was usable but
lacked ergonomy and power - there was no mouse support, few parameters commands,
many plugins were unfinished, and the VST support was weak.

Soon after that Arguru stopped developing Psycle to start working on another
project (what later became TraxVox) and made Psycle open source. This happened
at beginning of September 2000, leaving a young program with an innovative mix
of the classic tracking interface with VST (and native) plugins and modular
machine connections.

For several weeks Psycle stayed without a coder, period after which Mats Hjlund
took on its development. At the time Mats' main objective was to clear things up
and clean Psycle's code. His work on versions 1.0.x and 1.1.x was most notable
on internal recoding and design consolidation, even though some new features
were added (the Lines per beat feature as one). Along with this, Mats began
the development of a new version of Psycle, Psycle 2, in December 2000.
The new program's main feature was a sequencer which had the ability to play
several patterns at the same time (a multipattern sequencer), but maintaining
the patterns like they were (i.e. no link to machines).

When Mats left Psycle 2 stopped, and a guy by the nickname of [JAZ] took on the
task of continuing the Psycle history. [JAZ]'s initial goals were to fix several
of the astounding bugs and add some notably missing features. This took form in
versions 1.5 and 1.6. After that the idea of a version 2 appeared again, but
instead of focusing on Mats code [JAZ] started a new (internal) design codenamed
Psyclean which was never completed. There existed also a version of Psycle that
was temporarily called 1.9. This was started by Dan who had to leave it due to
work commitments. This version had some Data structure changes which aimed to
give more tracks, a volume column (panning too?), more lines per pattern, a new
song file format. The work was partly dismissed due to the incompatibilities
it was generating.

Around Spring/Summer 2002 Dilvie contacted with the Psycle team, interested
in developing a tracker with similar aims to what Psycle had, and expand on his
own ideas. To make this a reality, Psycle was branched in Psycle 1 and PsycleII.
Psycle 1 (at v1.7) continued to be maintained by JAZ and pooplog. The aim was
to continue offering a version which was simple enough, stable but still
powerful and to fill the gap until Psycleii came out.

PsycleII was to be a fully fledged audio studio (audio and video mixing,
mastering...). It was initially coded by Majick_ / MJK. He had part of the
core ready, but had to leave due to work commitments. Dilvie on the other hand
started working on the GUI, trying Mozilla XUL language as a start.
Unfortunately he was busy with work too as well and left. The latest news is,
that this branch was lost and he moved onto "Open Media System" (OMS project
at Sourceforge that never really started).

In 2004 a new project called "freePsycle" began its development. Bohan started
it with his own ideas and with two aims: portability (multiplatform) and more
importantly developed entirely with free tools (from compilers to libraries
as well as OSes). Up to today it has been a testbed for several parts that
have ended into the Psycle 1 branch.

Between autumn 2004 and summer 2005 two new versions of Psycle appeared.
Version 1.7.6.2 with many contributions from Bohan, zealmange and others
which improved the aging source code, made it more C++ standard, and added
project files for Visual studio 2002/2003), and v1.8.0 that continued on the
same direction. Between other facts Psycle's stability improved as well as
the source code readability. On the user side there were several new native
plugins, improvements in the VSThost, and some new handy features.

During the period between that release and December 2006 a version named
1.9alpha kept being developped, adding Visual Studio 2005 support, new
external packages (newer version of boost), many new features, and more
native plugins. Work on it was halted several times due to the developers
not having time due to different real-life issues.

On March 2006 a new Psycle branch saw the light: xPsycle (Psycle on Linux).
The original sources were based on Psycle 1.8, but later on moved onto
Psycle 1.9 to take advantage of the work dedicated already to the 1.9 alpha.
This new branch also had another new feature: multisequence. In fact it was
designed from the ground up with multisequence in mind.

At January 2007, xPsycle's developer moved onto his own program and xPsycle
stayed dormant for some months, after which the UI toolkit was changed to QT
and continued its steps. These changes were brought mostly by Neil,
mather/mutilus and Mattias/gravity0 with the help of some other contributors.

Also, [JAZ]/JosepMa, took again the task of leading the main Psycle and
released Psycle 1.8.5 in September 2007. This new version is based on the
1.8 branch (not on the 1.9), but several of the features have been added
back and extended/finished ( a new wave editor, the new VSThost, a new Mixer
machine, improvements on Sampulse), as well as the all time going task of
fixing the errors (bugfixs).