Changeset 279 for CoolAudio


Ignore:
Timestamp:
Oct 4, 2011, 6:55:54 PM (13 years ago)
Author:
george
Message:
  • Fixed: Do not use Windows MMSystem unit under Linux.
  • Fixed: Floating point/comma decimal separator error.
Location:
CoolAudio
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • CoolAudio/Demo/Demo.lpi

    r278 r279  
    3838      </Item2>
    3939    </RequiredPackages>
    40     <Units Count="22">
     40    <Units Count="23">
    4141      <Unit0>
    4242        <Filename Value="Demo.lpr"/>
    4343        <IsPartOfProject Value="True"/>
    4444        <UnitName Value="Demo"/>
     45        <EditorIndex Value="8"/>
     46        <WindowIndex Value="0"/>
     47        <TopLine Value="1"/>
     48        <CursorPos X="1" Y="1"/>
    4549        <UsageCount Value="33"/>
     50        <Loaded Value="True"/>
    4651      </Unit0>
    4752      <Unit1>
     
    5156        <ResourceBaseClass Value="Form"/>
    5257        <UnitName Value="UMainForm"/>
     58        <IsVisibleTab Value="True"/>
    5359        <EditorIndex Value="0"/>
    5460        <WindowIndex Value="0"/>
    55         <TopLine Value="86"/>
    56         <CursorPos X="1" Y="98"/>
     61        <TopLine Value="69"/>
     62        <CursorPos X="39" Y="82"/>
    5763        <UsageCount Value="33"/>
    5864        <Loaded Value="True"/>
     
    6268        <Filename Value="../UCoolAudio.pas"/>
    6369        <UnitName Value="UCoolAudio"/>
    64         <EditorIndex Value="6"/>
    65         <WindowIndex Value="0"/>
    66         <TopLine Value="24"/>
    67         <CursorPos X="30" Y="39"/>
     70        <EditorIndex Value="3"/>
     71        <WindowIndex Value="0"/>
     72        <TopLine Value="16"/>
     73        <CursorPos X="9" Y="7"/>
    6874        <UsageCount Value="11"/>
    6975        <Loaded Value="True"/>
     
    7278        <Filename Value="../Systems/UAudioSystemFMOD.pas"/>
    7379        <UnitName Value="UAudioSystemFMOD"/>
    74         <EditorIndex Value="10"/>
     80        <EditorIndex Value="6"/>
    7581        <WindowIndex Value="0"/>
    7682        <TopLine Value="47"/>
     
    9096        <Filename Value="../fmodintf/fmoddyn.pas"/>
    9197        <UnitName Value="fmoddyn"/>
    92         <IsVisibleTab Value="True"/>
    93         <EditorIndex Value="11"/>
     98        <EditorIndex Value="7"/>
    9499        <WindowIndex Value="0"/>
    95100        <TopLine Value="577"/>
    96         <CursorPos X="40" Y="592"/>
     101        <CursorPos X="38" Y="581"/>
    97102        <UsageCount Value="11"/>
    98103        <Loaded Value="True"/>
     
    109114        <Filename Value="../Systems/UAudioSystemMPlayer.pas"/>
    110115        <UnitName Value="UAudioSystemMPlayer"/>
    111         <EditorIndex Value="7"/>
    112         <WindowIndex Value="0"/>
    113         <TopLine Value="19"/>
    114         <CursorPos X="3" Y="36"/>
     116        <EditorIndex Value="4"/>
     117        <WindowIndex Value="0"/>
     118        <TopLine Value="254"/>
     119        <CursorPos X="1" Y="276"/>
    115120        <UsageCount Value="16"/>
    116121        <Loaded Value="True"/>
     
    127132        <Filename Value="../Systems/UAudioSystem.pas"/>
    128133        <UnitName Value="UAudioSystem"/>
    129         <EditorIndex Value="5"/>
    130         <WindowIndex Value="0"/>
    131         <TopLine Value="54"/>
    132         <CursorPos X="5" Y="66"/>
     134        <EditorIndex Value="2"/>
     135        <WindowIndex Value="0"/>
     136        <TopLine Value="31"/>
     137        <CursorPos X="15" Y="48"/>
    133138        <UsageCount Value="26"/>
    134139        <Loaded Value="True"/>
     
    137142        <Filename Value="../../../../Lazarus/0.9.31_2.5.1/lcl/stdctrls.pp"/>
    138143        <UnitName Value="StdCtrls"/>
    139         <EditorIndex Value="1"/>
    140144        <WindowIndex Value="0"/>
    141145        <TopLine Value="418"/>
    142146        <CursorPos X="18" Y="430"/>
    143147        <UsageCount Value="11"/>
    144         <Loaded Value="True"/>
    145148      </Unit10>
    146149      <Unit11>
    147150        <Filename Value="../../../../Lazarus/0.9.31_2.5.1/lcl/controls.pp"/>
    148151        <UnitName Value="Controls"/>
    149         <EditorIndex Value="4"/>
    150152        <WindowIndex Value="0"/>
    151153        <TopLine Value="2427"/>
    152154        <CursorPos X="24" Y="2429"/>
    153155        <UsageCount Value="13"/>
    154         <Loaded Value="True"/>
    155156      </Unit11>
    156157      <Unit12>
     
    201202        <Filename Value="../../../../Lazarus/0.9.31_2.5.1/fpc/2.5.1/source/packages/fcl-process/src/process.pp"/>
    202203        <UnitName Value="process"/>
    203         <EditorIndex Value="8"/>
    204204        <WindowIndex Value="0"/>
    205205        <TopLine Value="13"/>
    206206        <CursorPos X="21" Y="26"/>
    207207        <UsageCount Value="13"/>
    208         <Loaded Value="True"/>
    209208      </Unit18>
    210209      <Unit19>
    211210        <Filename Value="../../../../Lazarus/0.9.31_2.5.1/fpc/2.5.1/source/packages/libogcfpc/src/debug.pp"/>
    212211        <UnitName Value="debug"/>
    213         <EditorIndex Value="9"/>
    214212        <WindowIndex Value="0"/>
    215213        <TopLine Value="1"/>
    216214        <CursorPos X="1" Y="1"/>
    217215        <UsageCount Value="13"/>
    218         <Loaded Value="True"/>
    219216      </Unit19>
    220217      <Unit20>
    221218        <Filename Value="../../../../Lazarus/0.9.31_2.5.1/fpc/2.5.1/source/packages/winunits-base/src/mmsystem.pp"/>
    222219        <UnitName Value="mmsystem"/>
    223         <EditorIndex Value="2"/>
    224220        <WindowIndex Value="0"/>
    225221        <TopLine Value="165"/>
    226222        <CursorPos X="10" Y="177"/>
    227223        <UsageCount Value="12"/>
    228         <Loaded Value="True"/>
    229224      </Unit20>
    230225      <Unit21>
    231226        <Filename Value="../Systems/UAudioSystemWindows.pas"/>
    232227        <UnitName Value="UAudioSystemWindows"/>
    233         <EditorIndex Value="3"/>
    234         <WindowIndex Value="0"/>
    235         <TopLine Value="1"/>
    236         <CursorPos X="17" Y="17"/>
     228        <EditorIndex Value="1"/>
     229        <WindowIndex Value="0"/>
     230        <TopLine Value="13"/>
     231        <CursorPos X="1" Y="46"/>
    237232        <UsageCount Value="22"/>
    238233        <Loaded Value="True"/>
    239234      </Unit21>
     235      <Unit22>
     236        <Filename Value="/usr/share/fpcsrc/2.4.2/rtl/objpas/sysutils/sysstrh.inc"/>
     237        <EditorIndex Value="5"/>
     238        <WindowIndex Value="0"/>
     239        <TopLine Value="159"/>
     240        <CursorPos X="10" Y="176"/>
     241        <UsageCount Value="10"/>
     242        <Loaded Value="True"/>
     243      </Unit22>
    240244    </Units>
    241245    <JumpHistory Count="30" HistoryIndex="29">
    242246      <Position1>
    243         <Filename Value="../Systems/UAudioSystemWindows.pas"/>
    244         <Caret Line="32" Column="1" TopLine="17"/>
     247        <Filename Value="../Systems/UAudioSystem.pas"/>
     248        <Caret Line="91" Column="25" TopLine="89"/>
    245249      </Position1>
    246250      <Position2>
    247         <Filename Value="../Systems/UAudioSystemWindows.pas"/>
    248         <Caret Line="27" Column="11" TopLine="15"/>
     251        <Filename Value="../Systems/UAudioSystem.pas"/>
     252        <Caret Line="93" Column="25" TopLine="79"/>
    249253      </Position2>
    250254      <Position3>
    251         <Filename Value="UMainForm.pas"/>
    252         <Caret Line="5" Column="11" TopLine="1"/>
     255        <Filename Value="../Systems/UAudioSystem.pas"/>
     256        <Caret Line="76" Column="1" TopLine="56"/>
    253257      </Position3>
    254258      <Position4>
    255         <Filename Value="../Systems/UAudioSystem.pas"/>
    256         <Caret Line="69" Column="68" TopLine="55"/>
     259        <Filename Value="UMainForm.pas"/>
     260        <Caret Line="53" Column="33" TopLine="41"/>
    257261      </Position4>
    258262      <Position5>
    259263        <Filename Value="../Systems/UAudioSystem.pas"/>
    260         <Caret Line="71" Column="34" TopLine="56"/>
     264        <Caret Line="76" Column="50" TopLine="64"/>
    261265      </Position5>
    262266      <Position6>
    263         <Filename Value="../Systems/UAudioSystem.pas"/>
    264         <Caret Line="93" Column="24" TopLine="85"/>
     267        <Filename Value="UMainForm.pas"/>
     268        <Caret Line="55" Column="24" TopLine="42"/>
    265269      </Position6>
    266270      <Position7>
    267         <Filename Value="../UCoolAudio.pas"/>
    268         <Caret Line="16" Column="23" TopLine="1"/>
     271        <Filename Value="UMainForm.pas"/>
     272        <Caret Line="99" Column="28" TopLine="85"/>
    269273      </Position7>
    270274      <Position8>
    271         <Filename Value="../UCoolAudio.pas"/>
    272         <Caret Line="12" Column="19" TopLine="10"/>
     275        <Filename Value="UMainForm.pas"/>
     276        <Caret Line="100" Column="10" TopLine="85"/>
    273277      </Position8>
    274278      <Position9>
    275         <Filename Value="../UCoolAudio.pas"/>
    276         <Caret Line="25" Column="26" TopLine="10"/>
     279        <Filename Value="UMainForm.pas"/>
     280        <Caret Line="97" Column="1" TopLine="86"/>
    277281      </Position9>
    278282      <Position10>
    279         <Filename Value="../Systems/UAudioSystem.pas"/>
    280         <Caret Line="69" Column="59" TopLine="57"/>
     283        <Filename Value="UMainForm.pas"/>
     284        <Caret Line="98" Column="1" TopLine="86"/>
    281285      </Position10>
    282286      <Position11>
    283         <Filename Value="../Systems/UAudioSystem.pas"/>
    284         <Caret Line="60" Column="34" TopLine="51"/>
     287        <Filename Value="../Systems/UAudioSystemFMOD.pas"/>
     288        <Caret Line="59" Column="1" TopLine="47"/>
    285289      </Position11>
    286290      <Position12>
    287         <Filename Value="../Systems/UAudioSystem.pas"/>
    288         <Caret Line="72" Column="25" TopLine="59"/>
     291        <Filename Value="../Systems/UAudioSystemFMOD.pas"/>
     292        <Caret Line="64" Column="1" TopLine="47"/>
    289293      </Position12>
    290294      <Position13>
    291         <Filename Value="../Systems/UAudioSystem.pas"/>
    292         <Caret Line="86" Column="3" TopLine="85"/>
     295        <Filename Value="../Systems/UAudioSystemFMOD.pas"/>
     296        <Caret Line="60" Column="1" TopLine="47"/>
    293297      </Position13>
    294298      <Position14>
    295         <Filename Value="../Systems/UAudioSystem.pas"/>
    296         <Caret Line="73" Column="32" TopLine="72"/>
     299        <Filename Value="../Systems/UAudioSystemFMOD.pas"/>
     300        <Caret Line="61" Column="1" TopLine="47"/>
    297301      </Position14>
    298302      <Position15>
    299303        <Filename Value="../Systems/UAudioSystem.pas"/>
    300         <Caret Line="68" Column="55" TopLine="49"/>
     304        <Caret Line="66" Column="5" TopLine="54"/>
    301305      </Position15>
    302306      <Position16>
    303307        <Filename Value="../Systems/UAudioSystem.pas"/>
    304         <Caret Line="91" Column="25" TopLine="89"/>
     308        <Caret Line="1" Column="1" TopLine="1"/>
    305309      </Position16>
    306310      <Position17>
    307         <Filename Value="../Systems/UAudioSystem.pas"/>
    308         <Caret Line="93" Column="25" TopLine="79"/>
     311        <Filename Value="../UCoolAudio.pas"/>
     312        <Caret Line="39" Column="30" TopLine="13"/>
    309313      </Position17>
    310314      <Position18>
    311         <Filename Value="../Systems/UAudioSystem.pas"/>
    312         <Caret Line="76" Column="1" TopLine="56"/>
     315        <Filename Value="UMainForm.pas"/>
     316        <Caret Line="57" Column="85" TopLine="43"/>
    313317      </Position18>
    314318      <Position19>
    315         <Filename Value="UMainForm.pas"/>
    316         <Caret Line="53" Column="33" TopLine="41"/>
     319        <Filename Value="../Systems/UAudioSystemMPlayer.pas"/>
     320        <Caret Line="132" Column="30" TopLine="121"/>
    317321      </Position19>
    318322      <Position20>
    319         <Filename Value="../Systems/UAudioSystem.pas"/>
    320         <Caret Line="76" Column="50" TopLine="64"/>
     323        <Filename Value="../Systems/UAudioSystemMPlayer.pas"/>
     324        <Caret Line="42" Column="14" TopLine="25"/>
    321325      </Position20>
    322326      <Position21>
    323         <Filename Value="UMainForm.pas"/>
    324         <Caret Line="55" Column="24" TopLine="42"/>
     327        <Filename Value="../Systems/UAudioSystemMPlayer.pas"/>
     328        <Caret Line="74" Column="17" TopLine="49"/>
    325329      </Position21>
    326330      <Position22>
    327331        <Filename Value="UMainForm.pas"/>
    328         <Caret Line="99" Column="28" TopLine="85"/>
     332        <Caret Line="31" Column="50" TopLine="1"/>
    329333      </Position22>
    330334      <Position23>
    331335        <Filename Value="UMainForm.pas"/>
    332         <Caret Line="100" Column="10" TopLine="85"/>
     336        <Caret Line="108" Column="1" TopLine="84"/>
    333337      </Position23>
    334338      <Position24>
    335         <Filename Value="UMainForm.pas"/>
    336         <Caret Line="70" Column="7" TopLine="86"/>
     339        <Filename Value="../Systems/UAudioSystemMPlayer.pas"/>
     340        <Caret Line="271" Column="1" TopLine="254"/>
    337341      </Position24>
    338342      <Position25>
    339         <Filename Value="UMainForm.pas"/>
    340         <Caret Line="97" Column="1" TopLine="86"/>
     343        <Filename Value="../Systems/UAudioSystemMPlayer.pas"/>
     344        <Caret Line="272" Column="1" TopLine="254"/>
    341345      </Position25>
    342346      <Position26>
    343         <Filename Value="UMainForm.pas"/>
    344         <Caret Line="98" Column="1" TopLine="86"/>
     347        <Filename Value="../Systems/UAudioSystemMPlayer.pas"/>
     348        <Caret Line="273" Column="1" TopLine="254"/>
    345349      </Position26>
    346350      <Position27>
    347         <Filename Value="../Systems/UAudioSystemFMOD.pas"/>
    348         <Caret Line="59" Column="1" TopLine="47"/>
     351        <Filename Value="../Systems/UAudioSystemMPlayer.pas"/>
     352        <Caret Line="276" Column="1" TopLine="254"/>
    349353      </Position27>
    350354      <Position28>
    351         <Filename Value="../Systems/UAudioSystemFMOD.pas"/>
    352         <Caret Line="64" Column="1" TopLine="47"/>
     355        <Filename Value="UMainForm.pas"/>
     356        <Caret Line="102" Column="17" TopLine="84"/>
    353357      </Position28>
    354358      <Position29>
    355         <Filename Value="../Systems/UAudioSystemFMOD.pas"/>
    356         <Caret Line="60" Column="1" TopLine="47"/>
     359        <Filename Value="UMainForm.pas"/>
     360        <Caret Line="94" Column="52" TopLine="84"/>
    357361      </Position29>
    358362      <Position30>
    359         <Filename Value="../Systems/UAudioSystemFMOD.pas"/>
    360         <Caret Line="61" Column="1" TopLine="47"/>
     363        <Filename Value="UMainForm.pas"/>
     364        <Caret Line="74" Column="29" TopLine="68"/>
    361365      </Position30>
    362366    </JumpHistory>
     
    374378      <Debugging>
    375379        <GenerateDebugInfo Value="True"/>
     380        <DebugInfoType Value="dsStabs"/>
    376381      </Debugging>
    377382      <Options>
     
    386391  </CompilerOptions>
    387392  <Debugging>
    388     <BreakPoints Count="1">
    389       <Item1>
    390         <Kind Value="bpkSource"/>
    391         <Source Value="UMainForm.pas"/>
    392         <Line Value="97"/>
    393       </Item1>
    394     </BreakPoints>
    395393    <Watches Count="1">
    396394      <Item1>
  • CoolAudio/Demo/Demo.lpr

    r275 r279  
    88  {$ENDIF}{$ENDIF}
    99  Interfaces, // this includes the LCL widgetset
    10   Forms, UMainForm;
     10  Forms, UMainForm, USystem;
    1111
    1212{$R *.res}
  • CoolAudio/Demo/UMainForm.lfm

    r278 r279  
    6969  object ComboBox1: TComboBox
    7070    Left = 80
    71     Height = 21
     71    Height = 25
    7272    Top = 46
    7373    Width = 128
    74     ItemHeight = 13
     74    ItemHeight = 0
    7575    OnChange = ComboBox1Change
    7676    Style = csDropDownList
     
    8181    Height = 14
    8282    Top = 46
    83     Width = 45
     83    Width = 52
    8484    Caption = 'Backend:'
     85    ParentColor = False
     86  end
     87  object LabelPosition: TLabel
     88    Left = 13
     89    Height = 14
     90    Top = 152
     91    Width = 48
     92    Caption = 'Position:'
    8593    ParentColor = False
    8694  end
  • CoolAudio/Demo/UMainForm.pas

    r278 r279  
    2222    Edit1: TEdit;
    2323    Label1: TLabel;
     24    LabelPosition: TLabel;
    2425    OpenDialog1: TOpenDialog;
    2526    TimerPlayback: TTimer;
     
    5556  AudioSystem := TAudioSystemMPlayer.Create;
    5657  TAudioSystemMPlayer(AudioSystem).Path := 'c:\Program Files\SMPlayer\mplayer\mplayer.exe';
     58  TAudioSystemMPlayer(AudioSystem).Path := TAudioSystemMPlayer(AudioSystem).FindPath;
    5759  Player := TPlayerMPlayer.Create;
    5860  Player.AudioSystem := AudioSystem;
     
    7072    TrackBar1.OnChange := nil;
    7173    TrackBar1.Position := Trunc(Player.Position / Player.Length * TrackBar1.Max);
     74    Application.ProcessMessages;
    7275    TrackBar1.OnChange := TrackBar1Change;
     76    LabelPosition.Caption := 'Position: ' + TimeToStr(Player.Position) + ' / ' + TimeToStr(Player.Length);
    7377  end;
    7478end;
  • CoolAudio/Systems/UAudioSystemMPlayer.pas

    r277 r279  
    2525    FPath: string;
    2626    procedure SetOutputMode(AValue: TOutputDriver); override;
     27  public
    2728    function FindPath: string;
    28   public
    2929    constructor Create; override;
    3030    destructor Destroy; override;
     
    6464implementation
    6565
     66function StrToFloatPoint(Value: string): Extended;
     67var
     68  FPointSeparator: TFormatSettings;
     69begin
     70  // Format seetings to convert a string to a float
     71  FPointSeparator := DefaultFormatSettings;
     72  FPointSeparator.DecimalSeparator := '.';
     73  FPointSeparator.ThousandSeparator := '#';// disable the thousand separator
     74  Result := StrToFloat(Value, FPointSeparator);
     75end;
     76
     77function FloatPointToStr(Value: Extended): string;
     78var
     79  FPointSeparator: TFormatSettings;
     80begin
     81  // Format seetings to convert a string to a float
     82  FPointSeparator := DefaultFormatSettings;
     83  FPointSeparator.DecimalSeparator := '.';
     84  FPointSeparator.ThousandSeparator := '#';// disable the thousand separator
     85  Result := FloatToStr(Value, FPointSeparator);
     86end;
     87
    6688{ TAudioSystemMPlayer }
    6789
     
    130152    I := LastDelimiter('=', tmps);
    131153    if I > 0 then begin
    132       Tmps := StringReplace(Tmps, '.', ',', [rfReplaceAll]);
    133       Time := StrToFloat(Copy(tmps, I + 1, System.Length(tmps)));
     154      Time := StrToFloatPoint(Copy(tmps, I + 1, System.Length(tmps)));
    134155      Result := Time * OneSecond;
    135156    end;
     
    153174    I := LastDelimiter('=', tmps);
    154175    if I > 0 then begin
    155       Tmps := StringReplace(Tmps, '.', ',', [rfReplaceAll]);
    156       Time := StrToFloat(Copy(tmps, I + 1, System.Length(tmps)));
     176      Time := StrToFloatPoint(Copy(tmps, I + 1, System.Length(tmps)));
    157177      Result := Time * OneSecond;
    158178    end else Result := -1;
     
    186206begin
    187207  if FPlaying and FProcess.Running then begin
    188     SendCommand('set_property time_pos ' + StringReplace(FloatToStr(AValue / OneSecond), ',', '.', [rfReplaceAll]));
     208    SendCommand('set_property time_pos ' + FloatPointToStr(AValue / OneSecond));
    189209  end;
    190210end;
  • CoolAudio/Systems/UAudioSystemWindows.pas

    r278 r279  
    55interface
    66
     7{$IFDEF Windows}
    78uses
    89  Classes, SysUtils, UAudioSystem, MMSystem;
     
    1819    procedure Stop; override;
    1920  end;
     21{$ENDIF}
    2022
    2123implementation
     24
     25{$IFDEF Windows}
    2226
    2327{ TPlayerWindows }
     
    3943end;
    4044
     45{$ENDIF}
     46
    4147end.
    4248
  • CoolAudio/UCoolAudio.pas

    r278 r279  
    33{$mode Delphi}{$H+}
    44
    5 {$DEFINE AudioSystemWindows}
     5{$IFDEF Windows}
     6  {$DEFINE AudioSystemWindows}
     7{$ENDIF}
    68{$DEFINE AudioSystemMPlayer}
    79{$DEFINE AudioSystemFMOD}
Note: See TracChangeset for help on using the changeset viewer.