ReactOS 0.4.17-dev-934-g091855f
dmime_private.h
Go to the documentation of this file.
1/* DirectMusicInteractiveEngine Private Include
2 *
3 * Copyright (C) 2003-2004 Rok Mandeljc
4 *
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this program; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18 */
19
20#ifndef __WINE_DMIME_PRIVATE_H
21#define __WINE_DMIME_PRIVATE_H
22
23#include <stdio.h>
24#include <stdarg.h>
25#include <string.h>
26
27#define COBJMACROS
28
29#include "windef.h"
30#include "winbase.h"
31#include "winnt.h"
32#include "wingdi.h"
33#include "winuser.h"
34
35#include "wine/debug.h"
36#include "wine/list.h"
37#include "winreg.h"
38#include "objbase.h"
39
40#include "dmusici.h"
41#include "dmusicf.h"
42#include "dmusics.h"
43#include "dmusicc.h"
44
45#include "dmobject.h"
46
47/*****************************************************************************
48 * Interfaces
49 */
51struct midi_parser;
52
53/*****************************************************************************
54 * ClassFactory
55 */
56extern HRESULT create_dmperformance(REFIID riid, void **ret_iface);
57extern HRESULT create_dmsegment(REFIID riid, void **ret_iface);
58extern HRESULT create_dmsegmentstate(REFIID riid, void **ret_iface);
59extern HRESULT create_dmgraph(REFIID riid, void **ret_iface);
60extern HRESULT create_dmaudiopath(REFIID riid, void **ret_iface);
61extern HRESULT create_dmaudiopath_config(REFIID riid, void **ret_iface);
62
63extern HRESULT create_dmlyricstrack(REFIID riid, void **ret_iface);
64extern HRESULT create_dmmarkertrack(REFIID riid, void **ret_iface);
65extern HRESULT create_dmparamcontroltrack(REFIID riid, void **ret_iface);
66extern HRESULT create_dmsegtriggertrack(REFIID riid, void **ret_iface);
67extern HRESULT create_dmseqtrack(REFIID riid, void **ret_iface);
68extern HRESULT create_dmsysextrack(REFIID riid, void **ret_iface);
69extern HRESULT create_dmtempotrack(REFIID riid, void **ret_iface);
70extern HRESULT create_dmtimesigtrack(REFIID riid, void **ret_iface);
71extern HRESULT create_dmwavetrack(REFIID riid, void **ret_iface);
72
73/* Parse a MIDI file. Note the stream might still be modified even when this function fails. */
74extern HRESULT parse_midi(IStream *stream, IDirectMusicSegment8 *segment);
75
76extern void set_audiopath_perf_pointer(IDirectMusicAudioPath*,IDirectMusicPerformance8*);
77extern void set_audiopath_dsound_buffer(IDirectMusicAudioPath*,IDirectSoundBuffer*);
78extern void set_audiopath_primary_dsound_buffer(IDirectMusicAudioPath*,IDirectSoundBuffer*);
79
80extern HRESULT segment_state_create(IDirectMusicSegment *segment, MUSIC_TIME start_time,
81 IDirectMusicPerformance8 *performance, IDirectMusicSegmentState **ret_iface);
82extern HRESULT segment_state_play(IDirectMusicSegmentState *iface, IDirectMusicPerformance8 *performance);
83extern HRESULT segment_state_tick(IDirectMusicSegmentState *iface, IDirectMusicPerformance8 *performance);
84extern HRESULT segment_state_stop(IDirectMusicSegmentState *iface, IDirectMusicPerformance8 *performance);
85extern HRESULT segment_state_end_play(IDirectMusicSegmentState *iface, IDirectMusicPerformance8 *performance);
86extern BOOL segment_state_has_segment(IDirectMusicSegmentState *iface, IDirectMusicSegment *segment);
87extern BOOL segment_state_has_track(IDirectMusicSegmentState *iface, DWORD track_id);
88
90 IDirectMusicTrack8 **ret_iface);
91
92extern void sequence_track_set_items(IDirectMusicTrack8 *track, DMUS_IO_SEQ_ITEM *items, unsigned int count);
93
94extern HRESULT performance_get_dsound(IDirectMusicPerformance8 *iface, IDirectSound **dsound);
95extern HRESULT performance_send_segment_start(IDirectMusicPerformance8 *iface, MUSIC_TIME music_time,
96 IDirectMusicSegmentState *state);
97extern HRESULT performance_send_segment_tick(IDirectMusicPerformance8 *iface, MUSIC_TIME music_time,
98 IDirectMusicSegmentState *state);
99extern HRESULT performance_send_segment_end(IDirectMusicPerformance8 *iface, MUSIC_TIME music_time,
100 IDirectMusicSegmentState *state, BOOL abort);
101
103
104/*****************************************************************************
105 * Auxiliary definitions
106 */
108 struct list entry; /* for listing elements */
111
115
116/*****************************************************************************
117 * Misc.
118 */
119
120#endif /* __WINE_DMIME_PRIVATE_H */
static int state
Definition: maze.c:121
Definition: list.h:39
HRESULT segment_state_create(IDirectMusicSegment *segment, MUSIC_TIME start_time, IDirectMusicPerformance8 *performance, IDirectMusicSegmentState **ret_iface)
Definition: segmentstate.c:312
HRESULT create_dmmarkertrack(REFIID riid, void **ret_iface)
Definition: markertrack.c:222
void sequence_track_set_items(IDirectMusicTrack8 *track, DMUS_IO_SEQ_ITEM *items, unsigned int count)
Definition: seqtrack.c:507
HRESULT create_dmtimesigtrack(REFIID riid, void **ret_iface)
Definition: timesigtrack.c:285
struct _DMUS_PRIVATE_TEMPO_PLAY_STATE DMUS_PRIVATE_TEMPO_PLAY_STATE
void set_audiopath_perf_pointer(IDirectMusicAudioPath *, IDirectMusicPerformance8 *)
Definition: audiopath.c:76
HRESULT create_dmsysextrack(REFIID riid, void **ret_iface)
Definition: sysextrack.c:257
HRESULT performance_get_dsound(IDirectMusicPerformance8 *iface, IDirectSound **dsound)
Definition: performance.c:2316
struct _DMUS_PRIVATE_TEMPO_ITEM DMUS_PRIVATE_TEMPO_ITEM
HRESULT create_dmsegtriggertrack(REFIID riid, void **ret_iface)
HRESULT segment_state_stop(IDirectMusicSegmentState *iface, IDirectMusicPerformance8 *performance)
Definition: segmentstate.c:502
HRESULT create_dmsegment(REFIID riid, void **ret_iface)
Definition: segment.c:876
BOOL segment_state_has_track(IDirectMusicSegmentState *iface, DWORD track_id)
Definition: segmentstate.c:537
void set_audiopath_dsound_buffer(IDirectMusicAudioPath *, IDirectSoundBuffer *)
Definition: audiopath.c:82
HRESULT create_dmwavetrack(REFIID riid, void **ret_iface)
Definition: wavetrack.c:585
HRESULT performance_send_segment_tick(IDirectMusicPerformance8 *iface, MUSIC_TIME music_time, IDirectMusicSegmentState *state)
Definition: performance.c:337
HRESULT parse_midi(IStream *stream, IDirectMusicSegment8 *segment)
Definition: midi.c:483
HRESULT performance_send_segment_start(IDirectMusicPerformance8 *iface, MUSIC_TIME music_time, IDirectMusicSegmentState *state)
Definition: performance.c:318
HRESULT create_dmlyricstrack(REFIID riid, void **ret_iface)
Definition: lyricstrack.c:344
HRESULT create_dmseqtrack(REFIID riid, void **ret_iface)
Definition: seqtrack.c:488
HRESULT create_dmaudiopath(REFIID riid, void **ret_iface)
Definition: audiopath.c:736
void set_audiopath_primary_dsound_buffer(IDirectMusicAudioPath *, IDirectSoundBuffer *)
Definition: audiopath.c:88
HRESULT wave_track_create_from_chunk(IStream *stream, struct chunk_entry *parent, IDirectMusicTrack8 **ret_iface)
Definition: wavetrack.c:605
HRESULT segment_state_end_play(IDirectMusicSegmentState *iface, IDirectMusicPerformance8 *performance)
Definition: segmentstate.c:512
BOOL segment_state_has_segment(IDirectMusicSegmentState *iface, IDirectMusicSegment *segment)
Definition: segmentstate.c:531
HRESULT create_dmsegmentstate(REFIID riid, void **ret_iface)
Definition: segmentstate.c:293
HRESULT create_dmtempotrack(REFIID riid, void **ret_iface)
Definition: tempotrack.c:402
struct _DMUS_PRIVATE_TEMPO_PLAY_STATE * LPDMUS_PRIVATE_TEMPO_PLAY_STATE
HRESULT segment_state_tick(IDirectMusicSegmentState *iface, IDirectMusicPerformance8 *performance)
Definition: segmentstate.c:493
HRESULT path_config_get_audio_path_params(IUnknown *iface, WAVEFORMATEX *format, DSBUFFERDESC *desc, DMUS_PORTPARAMS *params)
Definition: audiopath.c:652
HRESULT create_dmaudiopath_config(REFIID riid, void **ret_iface)
Definition: audiopath.c:751
HRESULT create_dmperformance(REFIID riid, void **ret_iface)
Definition: performance.c:2279
HRESULT create_dmparamcontroltrack(REFIID riid, void **ret_iface)
struct _DMUS_PRIVATE_TEMPO_ITEM * LPDMUS_PRIVATE_TEMPO_ITEM
HRESULT performance_send_segment_end(IDirectMusicPerformance8 *iface, MUSIC_TIME music_time, IDirectMusicSegmentState *state, BOOL abort)
Definition: performance.c:355
HRESULT create_dmgraph(REFIID riid, void **ret_iface)
Definition: graph.c:301
HRESULT segment_state_play(IDirectMusicSegmentState *iface, IDirectMusicPerformance8 *performance)
Definition: segmentstate.c:472
LONG MUSIC_TIME
Definition: dmplugin.h:95
r parent
Definition: btrfs.c:3010
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
GLuint GLuint GLsizei count
Definition: gl.h:1545
GLenum const GLfloat * params
Definition: glext.h:5645
#define abort()
Definition: i386-dis.c:34
REFIID riid
Definition: atlbase.h:39
D3D11_SHADER_VARIABLE_DESC desc
Definition: reflection.c:1683
static TCHAR * items[]
Definition: page1.c:45
#define REFIID
Definition: guiddef.h:118
DMUS_IO_TEMPO_ITEM item
Definition: dmobject.h:26
Definition: parse.h:23