From 5000060b04bed23cbbd88ba43ed546220c4b7c69 Mon Sep 17 00:00:00 2001 From: whiteshark0 Date: Tue, 2 Nov 2010 12:51:22 +0000 Subject: create experimental songmanagement branch - nicer abstraction of songs - split songloading from handling songs - cleanup singscreen git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/branches/experimental@2706 b956fd51-792f-4845-bead-9b4dfca2ff2c --- songmanagement/src/macosx/PseudoThread.pas | 75 ++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 songmanagement/src/macosx/PseudoThread.pas (limited to 'songmanagement/src/macosx/PseudoThread.pas') diff --git a/songmanagement/src/macosx/PseudoThread.pas b/songmanagement/src/macosx/PseudoThread.pas new file mode 100644 index 00000000..d74285f7 --- /dev/null +++ b/songmanagement/src/macosx/PseudoThread.pas @@ -0,0 +1,75 @@ +{* UltraStar Deluxe - Karaoke Game + * + * UltraStar Deluxe is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + * + * $URL$ + * $Id$ + *} + +unit PseudoThread; + +{$IFDEF FPC} + {$MODE Delphi} +{$ENDIF} + +{$I switches.inc} + +interface + +type + +// Debugging threads with XCode doesn't seem to work. +// We use PseudoThread in Debug mode to get proper debugging. + +TPseudoThread = class(TObject) + private + protected + Terminated, + FreeOnTerminate: boolean; + procedure Execute; virtual; abstract; + procedure Resume; + procedure Suspend; + public + constructor Create(const suspended : boolean); +end; + +implementation + +{ TPseudoThread } + +constructor TPseudoThread.Create(const suspended: boolean); +begin + if not suspended then + begin + Execute; + end; +end; + +procedure TPseudoThread.Resume; +begin + Execute; +end; + +procedure TPseudoThread.Suspend; +begin +end; + +end. + -- cgit v1.2.3